Forwarded from Pink Orca | پینک اورکا
قابل توجه دوستان وب دولوپر عزیز، با یادگیری چند تا نکته تو سرفصلهای مربوط به امنیت تو دورهها، شما تبدیل به متخصص امنیت وب نخواهید شد.
دانشی به مراتب گستردهتر نیازه...
#هک_و_امنیت
~> @PinkOrca
دانشی به مراتب گستردهتر نیازه...
#هک_و_امنیت
~> @PinkOrca
یکی از ابزارایی که این چند وقته ازش استفاده میکنم و اتفاقا خیلی نیاز پیدا کرده بودم pystack بود.
https://bloomberg.github.io/pystack/
فک کنید برنامه پایتون اتون هنگ کرد و هیچ راهی ندارید واسه اینکه حتی با دیباگر attach بشید چون که سر یه عملیات که (که ممکنه داخل C extension ها یا هر چیز دیگه ای) بلاک شده باشه و امکان step کردن رو نده.
یا حتی خیلی مورد های دیگه ای که دیباگر معمولی بهتون اجازه گرفتن اطلاعات نمیده.
اینجاست که pystack میدرخشه.
بهتون اجازه اینو میده که وضعیت فعلی برنامه پایتون اتون و حتی thread ها و process و حتی subprocess هاتون رو ببینید.
بهتون یه یه لیستی از callstack رو میده و حتی میتونه اطلاعات داخل هر کدوم از stack frame هارو هم بده. مثل متغییر های محلی مربوط به اون frame و ...
خیلی خیلی بدرد میخوره.
برنامش تنها روی لینوکس هست و ورژن ویندوزی نداره فعلا.
https://github.com/bloomberg/pystack
https://bloomberg.github.io/pystack/
فک کنید برنامه پایتون اتون هنگ کرد و هیچ راهی ندارید واسه اینکه حتی با دیباگر attach بشید چون که سر یه عملیات که (که ممکنه داخل C extension ها یا هر چیز دیگه ای) بلاک شده باشه و امکان step کردن رو نده.
یا حتی خیلی مورد های دیگه ای که دیباگر معمولی بهتون اجازه گرفتن اطلاعات نمیده.
اینجاست که pystack میدرخشه.
بهتون اجازه اینو میده که وضعیت فعلی برنامه پایتون اتون و حتی thread ها و process و حتی subprocess هاتون رو ببینید.
بهتون یه یه لیستی از callstack رو میده و حتی میتونه اطلاعات داخل هر کدوم از stack frame هارو هم بده. مثل متغییر های محلی مربوط به اون frame و ...
خیلی خیلی بدرد میخوره.
برنامش تنها روی لینوکس هست و ورژن ویندوزی نداره فعلا.
https://github.com/bloomberg/pystack
GitHub
GitHub - bloomberg/pystack: 🔍 🐍 Like pstack but for Python!
🔍 🐍 Like pstack but for Python! Contribute to bloomberg/pystack development by creating an account on GitHub.
TECH STASH
یکی از ابزارایی که این چند وقته ازش استفاده میکنم و اتفاقا خیلی نیاز پیدا کرده بودم pystack بود. https://bloomberg.github.io/pystack/ فک کنید برنامه پایتون اتون هنگ کرد و هیچ راهی ندارید واسه اینکه حتی با دیباگر attach بشید چون که سر یه عملیات که (که ممکنه…
ولی خب تنها روی لینوکس هست.
با خودتون میپرسید الان من روی ویندوز هستم... چیکار کنم.
اینجاست که py-spy بدردتون میخوره
با خودتون میپرسید الان من روی ویندوز هستم... چیکار کنم.
اینجاست که py-spy بدردتون میخوره
برنامه py-spy یه profiler خیلی خفنی هست که با rust نوشتن.
ولی خب تنها کارش profiling هم نیست.
آپشن اینم داره که stack frame هاتون رو هم نشون بده. و همینطور متغییر های داخل هر frame.
خیلی چیز خوبی هست و من ازش تو ویندوز استفاده کردم که یه باگ مزخرفی رو پیدا کنم.
https://github.com/benfred/py-spy
ولی خب تنها کارش profiling هم نیست.
آپشن اینم داره که stack frame هاتون رو هم نشون بده. و همینطور متغییر های داخل هر frame.
خیلی چیز خوبی هست و من ازش تو ویندوز استفاده کردم که یه باگ مزخرفی رو پیدا کنم.
https://github.com/benfred/py-spy
GitHub
GitHub - benfred/py-spy: Sampling profiler for Python programs
Sampling profiler for Python programs. Contribute to benfred/py-spy development by creating an account on GitHub.
⚠️⚠️⚠️⚠️⚠️⚠️⚠️
دوستان عزیزی که اکانت GitHub دارید.
تا 8 رو دیگه فرصت دارید که 2fa گیت هابتون رو فعال کنید.
حواستون باشه
⚠️⚠️⚠️⚠️⚠️⚠️⚠️
دوستان عزیزی که اکانت GitHub دارید.
تا 8 رو دیگه فرصت دارید که 2fa گیت هابتون رو فعال کنید.
حواستون باشه
⚠️⚠️⚠️⚠️⚠️⚠️⚠️
نیاز به شماره مجازی ندارید
گزینه تایید دو مرحله ای با اپلیکیشن هم هستش
داخل صفحش بگردید پیدا میتونید بکنید.
گزینه تایید دو مرحله ای با اپلیکیشن هم هستش
داخل صفحش بگردید پیدا میتونید بکنید.
TECH STASH pinned «⚠️⚠️⚠️⚠️⚠️⚠️⚠️ دوستان عزیزی که اکانت GitHub دارید. تا 8 رو دیگه فرصت دارید که 2fa گیت هابتون رو فعال کنید. حواستون باشه ⚠️⚠️⚠️⚠️⚠️⚠️⚠️»
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
بوت کمپ ها از نظر من مزخرف ترین روش آموزش هست
حالا جدای از این، شما که بلدید آموزش بدید، یدونه ssl گرفتن اینقدر کار سختیه که نداره سایتتون؟
✅ @SEYED_BAX
حالا جدای از این، شما که بلدید آموزش بدید، یدونه ssl گرفتن اینقدر کار سختیه که نداره سایتتون؟
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from برنامه نویسی به شرط خنده | Developer funs (َ)
TECH STASH
برنامه py-spy یه profiler خیلی خفنی هست که با rust نوشتن. ولی خب تنها کارش profiling هم نیست. آپشن اینم داره که stack frame هاتون رو هم نشون بده. و همینطور متغییر های داخل هر frame. خیلی چیز خوبی هست و من ازش تو ویندوز استفاده کردم که یه باگ مزخرفی رو پیدا…
این برنامه py-spy که بهتون معرفی کرده بودم.
یه سری مشکلاتی داشت روی ویندوز که با استفاده conda از محیط conda فیکسشون کردم.
یا مثلا pyinstaller که یه سری ارور هایی میداد که با اجرا تو محیط conda عملا برطرف شد.
یادگیری محیط conda به نظرم میتونه مفید باشه از اونجایی که کاملا stable و ایزوله هست.
اونایی هم که ML و Data Science کار میکنن که دیگه حتما باهاش آشنایی پیدا کنن چون بیشتر استفادش واسه اینه.
یه سری مشکلاتی داشت روی ویندوز که با استفاده conda از محیط conda فیکسشون کردم.
یا مثلا pyinstaller که یه سری ارور هایی میداد که با اجرا تو محیط conda عملا برطرف شد.
یادگیری محیط conda به نظرم میتونه مفید باشه از اونجایی که کاملا stable و ایزوله هست.
اونایی هم که ML و Data Science کار میکنن که دیگه حتما باهاش آشنایی پیدا کنن چون بیشتر استفادش واسه اینه.
دو ورژن ازش داریم
Anaconda
که سنگین هست و به نظرم بدردتون نمیخوره مگر اینکه نیاز دارید به همه ابزاراش
https://www.anaconda.com/
miniconda
که خودم استفاده میکنم و سبکه.
https://docs.conda.io/projects/miniconda/en/latest/
عملا فرقی ندارن و فقط یکی آماده تره واسه مصارف ML و Data Science.
Anaconda
که سنگین هست و به نظرم بدردتون نمیخوره مگر اینکه نیاز دارید به همه ابزاراش
https://www.anaconda.com/
miniconda
که خودم استفاده میکنم و سبکه.
https://docs.conda.io/projects/miniconda/en/latest/
عملا فرقی ندارن و فقط یکی آماده تره واسه مصارف ML و Data Science.
Anaconda
Advance AI with Open Source | Anaconda
Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.
داکیومنتش هم اینجاست
https://docs.conda.io/en/latest/
آموزش ویدیویی راجبش ندیدم ولی خب بعد از نصب حواستون باشه که مسیر
داخل PATH برنامه سیستمتون باشه
و همینطور
هم یه دور بزنید که ساپورت شل conda آماده بشه.
https://docs.conda.io/en/latest/
آموزش ویدیویی راجبش ندیدم ولی خب بعد از نصب حواستون باشه که مسیر
/path/to/miniconda3/condabinداخل PATH برنامه سیستمتون باشه
و همینطور
conda initهم یه دور بزنید که ساپورت شل conda آماده بشه.
TECH STASH
این برنامه py-spy که بهتون معرفی کرده بودم. یه سری مشکلاتی داشت روی ویندوز که با استفاده conda از محیط conda فیکسشون کردم. یا مثلا pyinstaller که یه سری ارور هایی میداد که با اجرا تو محیط conda عملا برطرف شد. یادگیری محیط conda به نظرم میتونه مفید باشه از…
مشکلاتی که سر pyinstaller رو داشتم بخوام دقیق بگم این بود که نمیتونست لایبرری کامپایل شده
رو پیدا کنه.
کلا عجیب بود...
فکر هم نمیکردم مشکل از installation من باشه. چون چند بار تست کردم.
_ctypesرو پیدا کنه.
کلا عجیب بود...
فکر هم نمیکردم مشکل از installation من باشه. چون چند بار تست کردم.
TECH STASH
داکیومنتش هم اینجاست https://docs.conda.io/en/latest/ آموزش ویدیویی راجبش ندیدم ولی خب بعد از نصب حواستون باشه که مسیر /path/to/miniconda3/condabin داخل PATH برنامه سیستمتون باشه و همینطور conda init هم یه دور بزنید که ساپورت شل conda آماده بشه.
حالا که تست کردم
کار ست کردن PATH رو انجام میده. فقط رانش کنید از اون مسیر دیگه حله.
یه چیزی هم یادم رفته بود بهتون بگم
اینم ران بکنید که بعدا اذیت نشید.
اکتیو شدن اتوماتیک محیط conda رو با اجرای هر شل جدید غیر فعال میکنه.
conda initکار ست کردن PATH رو انجام میده. فقط رانش کنید از اون مسیر دیگه حله.
یه چیزی هم یادم رفته بود بهتون بگم
conda config --set auto_activate_base falseاینم ران بکنید که بعدا اذیت نشید.
اکتیو شدن اتوماتیک محیط conda رو با اجرای هر شل جدید غیر فعال میکنه.
اگر دوست دارید کد پایتون اتون رو مخفی کنید از یوزر ها و توزیعش بکنید حتما از Cython استفاده بکنید.
دیدم دوستان به سمت
https://pypi.org/project/pyarmor/
که استفاده کردم و آنچنان امن نیست
و همینطور
https://github.com/0sir1ss/Anubis
که اینم متاسفانه درست کار نمیکنه و تو این issue مشخصه.
حتی خود pyinstaller هم همچنین روشی رو پیشنهاد کرده
https://pyinstaller.org/en/stable/operating-mode.html#hiding-the-source-code
یادتون باشه. هر چقدر هم سورس رو هاید کنید استرینگ های ثابت بلاخره به صورت plaintext هستن. حتی تو زبان های کامپایلی. اونارو حتما هش کنید یا به هر روش دیگه مخفی کنید.
و اینکه هر کاری هم بکنید مهندسی معکوس کردن غیر ممکنه نمیشه. اما به شدت سخت میشه.
دیدم دوستان به سمت
https://pypi.org/project/pyarmor/
که استفاده کردم و آنچنان امن نیست
و همینطور
https://github.com/0sir1ss/Anubis
که اینم متاسفانه درست کار نمیکنه و تو این issue مشخصه.
حتی خود pyinstaller هم همچنین روشی رو پیشنهاد کرده
https://pyinstaller.org/en/stable/operating-mode.html#hiding-the-source-code
یادتون باشه. هر چقدر هم سورس رو هاید کنید استرینگ های ثابت بلاخره به صورت plaintext هستن. حتی تو زبان های کامپایلی. اونارو حتما هش کنید یا به هر روش دیگه مخفی کنید.
و اینکه هر کاری هم بکنید مهندسی معکوس کردن غیر ممکنه نمیشه. اما به شدت سخت میشه.
PyPI
pyarmor
A tool used to obfuscate python noscripts, bind obfuscated noscripts to fixed machine or expire obfuscated noscripts.
PyPy
یه نوع پیاده سازی دیگه از پایتون که از JIT استفاده میکنه واسه سرعت بخشی به برنامه.
https://youtu.be/jDzarqUQvK0
بخش compatbility اش رو بخونید تا ببینید که استفاده ازش تو چه مواردی ممکنه مشکل هایی رو به همراه داشته باشه.
به نظرم که اوکی هست و خیلی compatibility خوبی داره.
https://www.pypy.org/compat.html
همینطور قابلیت ها و ویژگی های جالبی داره.
از جمله ساپورت stackless و greenlets که یه زمانی در اکوسیستم پایتون خیلی معروف شده بودن.
https://www.pypy.org/features.html
یه نوع پیاده سازی دیگه از پایتون که از JIT استفاده میکنه واسه سرعت بخشی به برنامه.
https://youtu.be/jDzarqUQvK0
بخش compatbility اش رو بخونید تا ببینید که استفاده ازش تو چه مواردی ممکنه مشکل هایی رو به همراه داشته باشه.
به نظرم که اوکی هست و خیلی compatibility خوبی داره.
https://www.pypy.org/compat.html
همینطور قابلیت ها و ویژگی های جالبی داره.
از جمله ساپورت stackless و greenlets که یه زمانی در اکوسیستم پایتون خیلی معروف شده بودن.
https://www.pypy.org/features.html
YouTube
PyPy: The FASTEST Python implementation
"If you want your code to run faster, you should probably just use PyPy."
- Guido van Rossum, 2015 (https://www.youtube.com/watch?v=2wDvzy6Hgxg&t=1012s)
I mean, who can argue with the big boss?
Resources:
• More detailed architectural discussion: https…
- Guido van Rossum, 2015 (https://www.youtube.com/watch?v=2wDvzy6Hgxg&t=1012s)
I mean, who can argue with the big boss?
Resources:
• More detailed architectural discussion: https…
یه سری از دوستان از تغییراتی که نه چندان اخیر ایجاد شده بود تو pip و اجازه نصب پکیج ها روی سیستم رو نمیداد شاکی بودن.
چون یه سری از پکیج های پایتون عملا برنامه اجرایی هستن که بعضیا استفاده میکنن.
اگر میخواید چنین پکیج هایی رو نصب کنید سمت ایجاد کردن virtual environment نرید.
تو تمامی مخازن توزیع ها باید باشه و اینو نصب کنید میتونید باهاش تمام برنامه هایی که میخواید رو نصب بکنید.
دلیل تغییراتی هم که ایجاد شده اینه که پکیج های نصب شده با پکیج های سیستمی در تداخل نباشن.
اینطوری با نصب از pipx هیچ تاثیری منفی روی کارکرد و پایداری سیستمتون نخواهد داشت.
چون یه سری از پکیج های پایتون عملا برنامه اجرایی هستن که بعضیا استفاده میکنن.
اگر میخواید چنین پکیج هایی رو نصب کنید سمت ایجاد کردن virtual environment نرید.
pipxتو تمامی مخازن توزیع ها باید باشه و اینو نصب کنید میتونید باهاش تمام برنامه هایی که میخواید رو نصب بکنید.
دلیل تغییراتی هم که ایجاد شده اینه که پکیج های نصب شده با پکیج های سیستمی در تداخل نباشن.
اینطوری با نصب از pipx هیچ تاثیری منفی روی کارکرد و پایداری سیستمتون نخواهد داشت.
Forwarded from Python Hints
متن این تصویر نصف ایران رو بدبخت کرده
نصف دیگه هم که نکرده، تو عمرشون برنامهنویس نبودند.
برنامهنویس سرمایه گذار شرکت شما نیست، به اندازه شما مطمئن به کار و ایده شما برای پیشرفت نیست (توی بهترین حالت اگر شما ۱۰۰٪ مطمئن از پیشرفت هستید برنامهنویس باید روی ۶۰-۷۰٪ بشینه بیش از اینش توهم و حرف هست)
این حق هر برنامهنویسی هست که موقع همکاری با شما با هرجایی که فکر میکنه بهتر هست و به پیشرفتش بیشتر کمک میکنه مصاحبه بده.
حتی اگر پیشرفتی هم نباشه براش و هم سطح کار شما باشه، برنده شرکتی هست که مزایا + برخورد بهتر + امنیت فکری بیشتری رو به نیرو ارائه میده
به همهی برنامهنویس ها هم باید بگم :
قبل از جابجایی مطمئن بشید ۲ بار فکر میکنید، جابجایی توی بهترین حالت هم همیشه ۱۰-۲۰٪ ریسک هست
اما پایندی به شرکتی لطف شما هست نه وظیفه شما.
پ.ن : این تصاویر هوشمندانه انتخاب میشهها، ارتباط شما با شرکت رو مثل روابط عاطفی و خانوادگی نشون میده (اون جمله احمقانه، ماها یک خانواده هستیم هم همین بود)
البته رابطه عاطفی کاملاً یکطرفه، شما پایبند میمونید ولی شرکت به وقت بینیازی شمارو اخراج میکنه
نصف دیگه هم که نکرده، تو عمرشون برنامهنویس نبودند.
برنامهنویس سرمایه گذار شرکت شما نیست، به اندازه شما مطمئن به کار و ایده شما برای پیشرفت نیست (توی بهترین حالت اگر شما ۱۰۰٪ مطمئن از پیشرفت هستید برنامهنویس باید روی ۶۰-۷۰٪ بشینه بیش از اینش توهم و حرف هست)
این حق هر برنامهنویسی هست که موقع همکاری با شما با هرجایی که فکر میکنه بهتر هست و به پیشرفتش بیشتر کمک میکنه مصاحبه بده.
حتی اگر پیشرفتی هم نباشه براش و هم سطح کار شما باشه، برنده شرکتی هست که مزایا + برخورد بهتر + امنیت فکری بیشتری رو به نیرو ارائه میده
به همهی برنامهنویس ها هم باید بگم :
قبل از جابجایی مطمئن بشید ۲ بار فکر میکنید، جابجایی توی بهترین حالت هم همیشه ۱۰-۲۰٪ ریسک هست
اما پایندی به شرکتی لطف شما هست نه وظیفه شما.
پ.ن : این تصاویر هوشمندانه انتخاب میشهها، ارتباط شما با شرکت رو مثل روابط عاطفی و خانوادگی نشون میده (اون جمله احمقانه، ماها یک خانواده هستیم هم همین بود)
البته رابطه عاطفی کاملاً یکطرفه، شما پایبند میمونید ولی شرکت به وقت بینیازی شمارو اخراج میکنه