ترفندهای برنامهنویسی
Ir al canal en Telegram
⁉️ پیرامون پایتون، جنگو و ویاسکد نکتههایی که معمولا در آموزشها از قلم افتادهاند 📌 گروه گفتگو و پرسش و پاسخ: https://t.me/py_dj_discus 📬 نظرات و مطالب پیشنهادی: https://t.me/mh_firouzjaah ارسال پروژه: https://ponisha.ir/profile/mhfirouzjah
Mostrar másEl país no está especificadoLa categoría no está especificada
180
Suscriptores
Sin datos24 horas
Sin datos7 días
Sin datos30 días
Archivo de publicaciones
def next_promutation(li: list) -> list:
"""returns next promutation of a given list"""
j = -2
while True:
if li[j+1] < li[j]:
j -= 1
if j == 0:
break
else:
break
lii, liii = li[:j+1], li[j+1:]
m = -1
while True:
if liii[m] < lii[-1]:
m -= 1
else:
lii[-1], liii[m] = liii[m], lii[-1]
break
liii = sorted(liii)
return lii + liii
10 Exciting Python GUI Projects & Topics For Beginners [2021] | upGrad blog
https://www.upgrad.com/blog/python-gui-projects-project-ideas-for-beginners/
7 Best Coding Challenge Websites in 2020 - GeeksforGeeks
https://www.geeksforgeeks.org/7-best-coding-challenge-websites-in-2020/
Top 25 websites for coding challenge and competition [Updated for 2021] | By Benedict Neo | Towards Data Science
https://towardsdatascience.com/top-20-websites-for-coding-challenge-and-competition-in-2020-f667089a5b47
A Complete 26 Week Course to Learn Python for Data Science in 2022 | by Frank Andrade | Dec, 2021 | Towards Data Science
https://towardsdatascience.com/a-complete-26-week-course-to-learn-python-for-data-science-in-2022-e95b67551df4
Python Project – How to Build Tony Stark's JARVIS with Python
https://www.freecodecamp.org/news/python-project-how-to-build-your-own-jarvis-using-python/
چهارجلد کتابه از اینجا میتونید دانلود کنید.
بنظرم اینجور کتابها خیلی برای آدم مفیده از روشهای اساسی حل مسئله و تحلیل الگوریتم ها هرچی بدونیم کمه
https://libgen.is/search.php?req=The+Art+of+Computer+Programming&lg_topic=libgen&open=0&view=simple&res=25&phrase=1&column=def
blog.bjrn.se: Lexicographic permutations using Algorithm L (STL next_permutation in Python)
http://blog.bjrn.se/2008/04/lexicographic-permutations-using.html?m=1
19 Data Science Project Ideas for Beginners - KDnuggets
https://www.kdnuggets.com/2021/11/19-data-science-project-ideas-beginners.html
My First Six Months as a Data Scientist | by Amanda West | Nov, 2021 | Towards Data Science
https://towardsdatascience.com/my-first-six-months-as-a-data-scientist-69f6697c9ec3
What Does a Data Scientist Do? - KDnuggets
https://www.kdnuggets.com/2021/12/what-does-a-data-scientist-do.html
امنیت در جنگو؟؟
جنگو به صورت پیش فرض مکانیزم های امنیتی خود را دارد و از همه اسیب پذیری ها جلوگیری میکند، مانند: xss, csrf, sqli, host/header validation و ...
یک خلاصه ای در باره اینکه چگونه از هر کدوم جلوگیری میکند به شما میدم
XSS:
جنگو برای جلوگیری از xss از escape especific characters استفاده میکند که موجب میشود تگ های html و کاراکتر های خاص html شکل دیگری بگیرند بطوری که اجرا نشوند
CSRF:
جنگو یک میدلویر برای جلوگیری از این اسیب پذیری ارائه میدهد که در رکوئست های پوست referer کاربر را میگیرد تا ببیند برای همین هاست یا origin هست یا خیر اگر بود مشکلی ندارد اگر نبود ارور csrf میدهد.
SQLi:
جنگو یک orm به ما ارائه میدهد که این orm از بد کوئری ها جلوگیری میکند و جلوی sqli را تا حد امکان میگیرد، ولی وقتی شما از تابع raw استفاده کنید مستقیم باید دستور sql وارد کنید و پروتکشنی درکار نیست، باید مراقب باشید.
Host/Header validation:
جنگو در settings.py یک لیست ALLOWED_HOSTA به ما ارائه میدهد که در آن باید هاست های شناخته شده ی مان را قرار دهیم، نظیر 127.0.0.1 و دامین سایت، این مکانیزم امنیتی از هاست های فیک در مواقع مختلف جلوگیری میکند.
تا اینجا که میبینیم جنگو وظیفه ی خودشو خوب انجام داده پس وظیفه ما چیست؟
1-هیچوقت سکرت کی موجود در settings.py را عمومی نکنید.
2-هیچوقت در رکوئست های POST از csrf_exempt استفاده نکنید.
3-هیچوقت در فرم های کاربران از فیلتر safe استفاده نکنید
4-هیچوقت اطلاعات ایمیل، دیتابیس، api هایی که در پروژتون استفاده میکنید رو در فایل settings.py قرار ندید و داخل .env یا متغیر های محیطی قرار بدید.
5-از ادیتور هایی مانند ckeditor برای کاربران عادی استفاده نکنید زیرا برای نشون دادن محتوا مجبورید فیلتر safe استفاده کنید و موجب رخ دادن xss و html injection میشود.
#جنگو
#پایتون
#امنیت
@FreeKnowledgeOfficial
