هاست رایگان پایتون

۱. برخلاف پی اچ پی که براش تعداد زیادی سرویس رایگان هست، پایتون خیلی در این زمینه بی بهره بوده و سرویس هایی که این امکان رو بدن که ما بتونیم یه سایت پایتونی رو بدون خرج زیاد راه بندازیم انگشت شمارن. (البته وقتی هم که هزینه بخوایم بکنیم بازم وضع پی اچ پی خیلی بهتره. مثلن با ۳۰ ۴۰ هزار تومن می‌شه – یا می‌شد؟؟؟- ۲۰۰ ۳۰۰ مگابایت هاست تهیه کرد که برای یه سایت وردپرسی از حد نیاز هم بیشتره. اما درمورد پایتون از این خبرا نیست و باید شخصا یه سرور مجازی یا اختصاصی بخرین و خودتون کانفیگ کنید و کارای امنیتی رو انجام بدین و پایتون نصب کنید و … . درکل وضع پی اچ پی در این زمینه خیلی بهتره.)

هاست پایتون رایگان

۲. اینجا چندتا سرویس که این امکان رو می‌دن که بدون هزینه کردن یه سایت پایتونی راه بندازیم، می ذارم:
۲.۱. PythonAnyWhere: این سرویس یه شما امکان انتخاب ورژن پایتون رو‌ می‌ده. بعدشم یه ترمینال لینوکس در اختیارتون می‌‌ذاره که می‌تونین باهاش هر پکیچ پایتونی که خواستین رو نصب کنید. من باهاش جنگو نصب و تست کردم و رضایت بخش هم بود. راستی گیت هم داره و راحتترین راه انتقال فایلای پروژه بهش واسط قرار دادن گیت لب و گیتهابه. البته از SSH هم می‌تونین استفاده کنید. با هر اکانت می‌شه یه سایت راه اندازی کرد که البته یه سری محدودیت داره و اگر از حد خاصی(که چندان هم بالا نیست) بیشتر باشه استفاده از سایت، باید اکانت پریمیوم بخرین که از ۵ دلار در ماه شروع می‌شه.

۲.۲. OpenShift : اوپن شیفت رو ردهت ارائه می‌ده. یه ترمینال سنت او اس دراختیارتون می‌ذاره. از محدودیت‌هاش چیز زیادی نمی‌دونم ولی گویا سرویس نسبتن خوبی می‌ده و به همین دلیل متقاضی هم زیاد داره. بخاطر همین بعد از ثبت نام یه مدتی باید منتظر بمونید توی صف. من پارسال که ثبت نام کردم حدودن یه ماه طول کشید اکانتم اکتیو بشه و وقتی هم که ۳ ماه ازش استفاده نکردم همه چیزو پس گرفتن‌ که بدن به یکی دیگه ؛) اینم بگم که به ایران سرویس نمی‌ده و باید از اون فیـلتر شکن استفاده کنید.

۲.۳. HelioHost. این یکی شاید یکم محدود تر از قبلیا باشه اونم بخاطر این که اینجا خبری از ترمینال نیست دیگه و باید کارا رو از طریق رابط کاربری گرافیکیش انجام بدید. پکیج های قابل استفاده هم محدودن و گویا نمی‌شه آزادانه هرچیزی رو نصب کرد. البته جنگو و فلسک ساپورت می‌شن خوشبختانه. برای دیتابیس هم مای اسکیوال و پستگرس هستن و وب سرورش هم آپاچی.

۲.۴. Bitnami, FriHost, WikiWikiWeb:این سه تا هم هستن که البته هر سه فقط پایتون نسخه ۲ رو ساپورت می‌کنن و شاید نشه زیاد روشون حساب کرد (البته من خودم شخصن همیشه پایتون ۳ رو ترجیح می‌دم و تا مجبور نشم سراغ پایتون ۲ نمی‌رم، شاید برای کسی که ۲ رو ترجیح می‌ده هنوز گزینه خوبی باشه.)

 

۳. این سرویس ها رو از ویکی پایتون پیدا کردم و تجربه خودم در استفاده  وچیزایی که اینور اونور دیدم رو اینجا نوشتم. ولی چیزی که هست اینه که تقریبن یه ساله اون صفحه آپدیت نشده و بعید نیست سرویس جدیدی هم متولد شده باشه. PythonAnyWhere به نظر خودم گزینه خوبی برای تست کردن و داشتن سایت جمع و جوره. اوپن شیفت هم کم طرفدار نداره و گویا می‌شه روش حساب باز کرد. همین دیگه.

امنیت و جنگو

۱. از زبان برنامه نویسی پایتون نوشته بودم و اینکه چرا دوستش دارم. یکی از دلایلی که پایتون رو دوست دارم اینه که توی شاخه‌های مختلفی کاربرد داره، یکیش توسعه وب. فریمورک جنگو یکی از فریم‌ورک‌های معروف پایتونیه که سایتای معروفی مثل اینستاگرم و پینترست هم ازش استفاده می‌کنن.

۲. توی توسعه‌ی وب، امنیت یکی از چیزای مهمه. توی جنگو یکی از چیزایی که خیلی بهش توجه شده، امنیته. امنیت درواقع برای همه مهمه، اما خیلی وقتا بطور سهل‌انگارانه بهش نگاه می‌کنن. یکی از چیزایی که برای یه برنامه نویس وب خیلی مهمه، کیفیت کارشه، و امنیت یکی از فاکتور های تعیین کننده‌ی کیفیته.

امنیت وب - پایتون و جنگو - پایکان

۳. پایکان یه اجتماع سالانه(!) س که هر سال برگزار می‌شه و برنامه‌نویس‌ها و علاقه‌مندهای پایتونی رو دور هم جمع می‌کنه. توی پایکان ۲۰۱۷ ارائه‌ی خیلی خوبی دیدم به اسم آشنایی با توسعه‌‌ی وب امن با پایتون و جنگو. توی این ارائه‌ي سه ساعته،‌ آقایی به نام  جیمز بنت درمورد نکات و تهدیدات امنیتی رایج و حتی غیر رایج حرف می‌زنه و یک سری راه حل هم (خیلی مختصر) ارائه می‌ده. البته که اینجا بیشتر تمرکز روی جنگو هست، اما به نظرم برای هر دولوپری با هر زبان برنامه‌نویسی‌ای، دونستن این مطالب( حد اقل خود تهدید‌ها) می‌تونه مفید باشه. برنامه نویس خوب شدن کار سختیه. نه که جادویی در کار باشه. لازمه‌ش اینه که از کنار هیچ چیز ساده رد نشه آدم. در کنار این ویدیو که درباره یه موضوع خاصه، کتاب 97 چیز که هر برنامه نویس باید بدونه هم می‌تونه برای هربرنامه‌نویسی مفید باشه.

۴. یکی از چیزای فرعی باحالی که توی این ارائه دیدم این بود: فریم‌ورک جنگو از ابتدای توزیعش تا الان، به طور میانگین هر دو ماه یکبار با یه مشکل امنیتی مواجه شده. این رو خود ارائه دهنده می‌گه و واکنشش هم به این مسئله جالبه. پذیرش این که ما هیچ وقت در امنیت کامل نیستیم یه چیز خیلی مهمه. همیشه باید حواسمون باشه که توی جهانی که به سرعت داره پیشرفت می‌کنه، راه‌های دور زدن برنامه‌ای که ما نوشتیم هم خیلی زود به زود پیدا می‌شه. درست همونطور که نباید همیشه توقع داشته باشیم چیزی که تا الان همیشه کار کرده، از این به بعد هم کار کنه. یا راهی که تا الان خیلی‌ها رو پولدار کرده، باعث پولدار شدن ما هم بشه. ارائه‌ی توسعه‌ی امن وب با پایتون و جنگو رو خیلی راحت می‌شه به خیلی چیزها بسط داد. اگر برنامه‌نویس هستید، توی هر فیلدی، ببینیدش. یقینن براتون مفید می‌تونه باشه.

 

 

  •  امنیت وجهه‌های متفاوتی داره. اینجا از پیاده سازی امنیت توسط برنامه‌نویس حرف زده شد. رعایت نکات ایمنی(خنده دار شد) توی فعالیت‌های روزمره هم یقینن چیز مهمیه. توی مطلب احتیاط شرط عقله، یه سری راه برای امن موندن از خطرات احتمالی دنیای دیجیتال ارائه شده. مفیده.

به زبان آدمیزاد URL بنویسیم

۱. اتفاقی که افتاده اینه: یکی از دوستای من وقتی می خواسته حساب تپسی خودش رو شارژ کنه یه صفر اضافه می ذاره و به‌جای بیست هزار تومن، دویست هزار تومن شارژ می‌کنه حسابش رو. توی پروسه‌ی استرداد پولش، به یه لینک می‌رسه که اینجوریه:

https://tap30.ir/php/__123_send_email.php

۲. توی این یه دونه ‌URL چندتا نکته‌ی خیلی باحال دیده می‌شه. اولین چیزی که توی ذوق می‌زنه، اون ۱۲۳ هست که توی اسم فایل پی اچ پی هست. دلیلش رو می‌شه تا حدودی حدس زد. یا یه فایل به اسم send_email از قبل وجود داشته و آقا/خانم برنامه‌نویس بی‌حوصله، اینجوری از زیر بار اسم انتخاب کردن در رفته. ولی شایدم می‌خواسته مفهوم خاصی رو با این اسم برسونه که بازهم متاسفانه چندان واضح نیست و موفق نبوده. در مورد اون دو تا آندر-اسکور اول اسم فایل هم نمی دونم بین پی‌اچ‌پی کار‌ها مفهومی داره یا این‌که این‌هم از خلاقیت(!)‌های این برنامه‌نویسه.

۳. توی URL بالا یه چیز جالب دیگه هم دیده می‌شه: اون فایل پی‌اچ‌پی که بحثش شد، توی فولدری قرار گرفته به اسم PHP. این هم اصلن چیز جالبی نیست. از هر منظری به قضیه نگاه کنیم این کار غلط حساب می‌شه. اولین نکته اینه که مخاطب سایت ما که در اکثر موارد برنامه نویس نیست و یه آدم معمولیه، چندان سودی نمی بره از دیدن این اسم فولدر. حتی برای برنامه‌نویس‌ها هم جالب نیست دیدن همچین چیزی. کار درست و خوشبختانه رایج اینه که اسم این فولدرها، تابع کاری که انجام می‌دن باشه. یعنی جوری که با دیدن آدرس یه صفحه که شامل اسم فولدر و اسم فایل می‌شه، کاربر بتونه درمورد حاصلی که قراره ببینه حدس بزنه. از این هم بگذریم از تاثیر آدرس صفحه‌ها توی سئو سایت نباید ساده رد شد. اینجا این رو می‌فهمیم که آقا/خانم برنامه‌نویس درمورد سئو هم اطلاعات چندان درست و دقیقی نداره. و تلخ‌تر اینکه این مسائل رو داریم توی سایتی شرکتی می‌بینیم که جزو شرکتای به‌روز بازار ایران حساب ‌می‌شه.

۴. قضیه به ‌َیه ‌URL بد ختم نمی‌شه. با باز کردنش می‌رسیم به این صفحه:

tap30

این ‌مشکل رو توی تقریبن همه‌ی مرورگر‌ها می‌شه دید. جالب اینه که همچین مشکلی حتی توی بی‌کیفیت‌ترین سایت‌ها هم به ندرت پیش می‌اد.

  • چیزی که اینجا -توی URL- ازش به عنوان فولدر/پوشه حرف زده شد، درواقع می‌تونه حتی فولدر هم نباشه. خیلی از فریمورک ها – از جمله‌ جنگو- این امکان رو می‌دن که برنامه‌نویس بسته به نیازش و چیزی که توی ذهن داره، آدرس‌ها رو تعریف کنه. درمورد URL Pattern و URL Mapping جستجو کنید.