Forwarded from Python Hints
وقتی صحبت از امنیت میشه خیلی از توسعه دهندههای اینکار رو وظیفه تیم امنیت میدونند؛ که خب درست هم هست ولی تا یک جایی. شما هم بعنوان توسعه دهنده باید یک سری موارد رو بدونید.
مثلا خیلی دیدم؛ تیمهای تست نفوذ فراموش میکنند (دسترسی ندارند) الگوریتم
دمشون گرم؛ تیم توسعه
توی بعضی مواقع هم دانستن بعضی نکات امنیتی برای
خیلی از برنامهنویسها سرویس login امنی دارند که از موارد امنیتی خوبی هم استفاده میکنه
فرض کنید شما
برای همین کسی که با این موارد آشنا هست؛ برای اینکه
البته که من برای این مثال دست روی یک موردی گذاشتم که خیلیها رعایت نمیکنند (شاید نیازی هم ندارند) و خیلیها بلد نیستند (باید دنبال یک جیزی هم میگشتم که خود
یا مثلا توی کار با دیتا قبول نکردن دیتای pickle؛ اینو برگردید بالا من همون اوایل شروع کار کانال گفتم با مثال و حدود ۶ ماه قبل یکی از خوبای دنیای تکنولوژی با همین روش بهش نفوذ شد (
یا توی شرکتهایی که یوزر فایل آپلود میکنه و نیروی انسانی باید فایل رو بررسی کنه؛ خیلی وقتا دیدم فقط پسوند فایل بررسی میشه و ...
حالا چه چیزهایی رو باید بعنوان دولوپر بدونید ؟ OWASP TOP 10 حداقلی ترین مواردی هست که شما بعنوان یک دولوپر باید بشناسید و راهای مقابله باهاش رو هم بلد باشید.
ولی بطور خاص برای
OWASP cheatsheet for DRF
من یک
مثلا خیلی دیدم؛ تیمهای تست نفوذ فراموش میکنند (دسترسی ندارند) الگوریتم
hash کردن پسورد داخل دیتابیس رو چک کنند؛ اینجا دانش شما بعنوان برنامهنویس پروژه خودش رو نشون میده و یک لایه اطمینان بیشتر برای پروژه خواهد بود.دمشون گرم؛ تیم توسعه
Django رو میگم چرا که اکثر اتکهای مهم رو تا جایی که امکانش هست جلوگیری میکنند و برای همین هم همیشه میگم بکند رو فارغ از فریمورک یاد بگیرید. با این حال بسیاری دولوپر Django هست که حتی زحمت بررسی و آپدیت به آخرین پچهای امنیتی رو به خودش نمیده مثلا pip freeze و version locking استفاده کرده.توی بعضی مواقع هم دانستن بعضی نکات امنیتی برای
optimization بهتون کمک میکنه؛ مثلا توی password hash ممکن هست تحت یک شرایط خاصی اصلا الگوریتمی مثل Argon2 به کار شما نیاد و به دلایلی بهش نیاز نداشته باشید تحت این شرایط میتونید برگردید روی sha256 و از اون استفاده کنید (این یک مثال بود اگر argon2 رو نمیشناسید درموردش بخونید؛ توی لیست PASSWORD_HASHERS های Django هم هست ولی خود Django از PBKDF2 استفاده میکنه پیشفرض)خیلی از برنامهنویسها سرویس login امنی دارند که از موارد امنیتی خوبی هم استفاده میکنه
throttling, brute-force blocker, hashing و ... اما بعضی موارد باید فراتر ازین بره؛ چیزی که خیلی ندیدم حتی روی بعضی سرویسهای لاگین شرکتهای بزرگ و موارد حساس.فرض کنید شما
login با ایمیل اعضای شرکت بزنید (ایمیلهای شرکتی اصول خاصی داره و راحت بدست میاد) اگر ایمیل اشتباه باشه response time شاید زیر 20ms باشه ولی وقتی ایمیل درست هست بالای 100ms میشه این یکی از تکنیکهای قدیمی مورد استفاده برای نفوذ به صفحات ادمین بوده و هست. شما وقتی username. email رو پیدا کنی یک نگرانی کمتر خواهی داشت.برای همین کسی که با این موارد آشنا هست؛ برای اینکه
response time لاگین درست و غلط رو یکسان کنه وقتی میبینه یوزر وجود نداره بجای اینکه درجا پاسخ رو برای کاربر بفرسته یکبار پسورد رو با یک چیز رندم (طبق validation نمیتونه توی دیتابیس باشه) حساب میکنه و بعد response اطلاعات غلط روی لاگین رو بر میگردونه.البته که من برای این مثال دست روی یک موردی گذاشتم که خیلیها رعایت نمیکنند (شاید نیازی هم ندارند) و خیلیها بلد نیستند (باید دنبال یک جیزی هم میگشتم که خود
django امن نکرده باشه)یا مثلا توی کار با دیتا قبول نکردن دیتای pickle؛ اینو برگردید بالا من همون اوایل شروع کار کانال گفتم با مثال و حدود ۶ ماه قبل یکی از خوبای دنیای تکنولوژی با همین روش بهش نفوذ شد (
hugging face رو منظورم هست)یا توی شرکتهایی که یوزر فایل آپلود میکنه و نیروی انسانی باید فایل رو بررسی کنه؛ خیلی وقتا دیدم فقط پسوند فایل بررسی میشه و ...
حالا چه چیزهایی رو باید بعنوان دولوپر بدونید ؟ OWASP TOP 10 حداقلی ترین مواردی هست که شما بعنوان یک دولوپر باید بشناسید و راهای مقابله باهاش رو هم بلد باشید.
ولی بطور خاص برای
Django Rest Framework حداقل این cheathseet رو باید داشته باشد OWASP cheatsheet for DRF
من یک
cheatsheet شخصی خودم دارم (شامل مواردی از بخشهای مختلف همین cheatsheet هم هست) ولی متاسفانه نمیتونم به اشتراک بذارم چون آخرین ورژن رو با داکیومنت شرکت ادغام کردم. اما پیشنهاد میدم لینک بالا رو بخونید و حتما حتما حتما نگاهی هم به رفرنسهاشون بندازید این خیلی مهمه.cheatsheetseries.owasp.org
Django REST Framework - OWASP Cheat Sheet Series
Website with the collection of all the cheat sheets of the project.
Forwarded from Python Hints
#موقت
نوشتن این پست ۴۵ دقیقه زمان برد؛ چون عادت دارم مثالها رو هی تغییر میدم تا مطمئن بشم اون چیزی که فکر میکنم رو منتقل میکنه.
برای همین آموزش دادن برام خیلی سخت هست همیشه.
توی @pyrust شروع کردم آموزش های کوچیک رو ولی بعضی از پستها بیش از ۱ ساعت هم زمان میبره تایپ کردنش مثلا فرق Stack, Heap رو توضیح دادن فکر میکنم ۲ ساعت شد.
درنهایت:
بله من تایم میگیرم هرکاری که انجام میدم رو.
نوشتن این پست ۴۵ دقیقه زمان برد؛ چون عادت دارم مثالها رو هی تغییر میدم تا مطمئن بشم اون چیزی که فکر میکنم رو منتقل میکنه.
برای همین آموزش دادن برام خیلی سخت هست همیشه.
توی @pyrust شروع کردم آموزش های کوچیک رو ولی بعضی از پستها بیش از ۱ ساعت هم زمان میبره تایپ کردنش مثلا فرق Stack, Heap رو توضیح دادن فکر میکنم ۲ ساعت شد.
درنهایت:
بله من تایم میگیرم هرکاری که انجام میدم رو.
Forwarded from Gopher Academy
🔵 عنوان مقاله
How to Manage Tool Dependencies in Go 1.24+
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، به تفصیل به بررسی زیر دستور جدید 'go tool' در زبان برنامه نویسی Go میپردازد. تمرکز اصلی مقاله بر استفاده عملی از این زیر دستور است و شامل نکات کاربردی برای بهبود فرآیند توسعه نرم افزار میباشد. مقاله همچنین راهکاری مفید را ارائه میدهد که شامل جدا کردن ابزارها در یک فایل ماژول جداگانه است. این رویکرد به توسعهدهندگان کمک میکند تا تعمیر و نگهداری کد خود را راحتتر کرده و وابستگیهای پروژه را بهتر مدیریت کنند. این مقاله برای برنامهنویسانی که مایل به بهینهسازی کار با محیط Go هستند مفید است و ارائههای مفیدی درخصوص چگونگی استفاده بهینه از امکانات جدید ابزار Go را فراهم میکند.
🟣لینک مقاله:
https://golangweekly.com/link/166123/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
How to Manage Tool Dependencies in Go 1.24+
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، به تفصیل به بررسی زیر دستور جدید 'go tool' در زبان برنامه نویسی Go میپردازد. تمرکز اصلی مقاله بر استفاده عملی از این زیر دستور است و شامل نکات کاربردی برای بهبود فرآیند توسعه نرم افزار میباشد. مقاله همچنین راهکاری مفید را ارائه میدهد که شامل جدا کردن ابزارها در یک فایل ماژول جداگانه است. این رویکرد به توسعهدهندگان کمک میکند تا تعمیر و نگهداری کد خود را راحتتر کرده و وابستگیهای پروژه را بهتر مدیریت کنند. این مقاله برای برنامهنویسانی که مایل به بهینهسازی کار با محیط Go هستند مفید است و ارائههای مفیدی درخصوص چگونگی استفاده بهینه از امکانات جدید ابزار Go را فراهم میکند.
🟣لینک مقاله:
https://golangweekly.com/link/166123/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
www.alexedwards.net
How to manage tool dependencies in Go 1.24+ - Alex Edwards
Forwarded from DevTwitter | توییت برنامه نویسی
آقا این رپو با php یه MCP سرور ساده برای زمان پیاده کرده مثلا ساعت چنده یا ساعت فولان جا چنده میشه راحت فهمید چیکار کرده
البته اگه زبون ژاپنی بلد باشی
https://github.com/uzulla/mcp-time-php/
@DevTwitter | <Saman/>
البته اگه زبون ژاپنی بلد باشی
https://github.com/uzulla/mcp-time-php/
@DevTwitter | <Saman/>
Forwarded from code2 - تکنولوژی و فناوری
⚡️ نکات طلایی برای استفاده از مدلهای زبانی بـزرگ (LLM) از زبان آنـدری کـارپاتی، بنیانگذار OpenAI:
آندری کارپاتی، رویکرد شخصیش رو در استفاده از مـدلهـای زبانی بـه اشتراک گذاشته و در سخنرانی جدیدش، بهتفصیل توضیحمیده که چطور میشه یه گفتگو رو با مدلهای زبانی بزرگ انجام داد تا بهترین پاسخها را دریافت کرد.
📄حالا بعضی از جالبترین نکات سخنرانی:
💎هنگام تغییر موضوع، یه چـت جدید رو شروع کنید. این به مدل کمک میکنه تا روی یه سوال خاص تمرکز کنه و از دانشش به طور موثرتری استفاده کنه.
💎شما میتونید فراتر از متن با رباتها گفتگو و تعامل داشته باشین. ChatGPT و سایر دستیارها حالتهای مناسبی برای ارتباط صـوتی ارائـه میدن. همچنین میتونن اطلاعات رو از تصاویر و حتی ویدیوها به صورت سریع پردازش کنند. کارپاتی همینطور گفت که این ویژگیها ممکنه برای بستگان مسن شما خیلی مفید و قابل استفاده باشه.
💎از کاستوم GPTها حتما استفاده کنید. اینها قابلیتهای ChatGPT رو گسترش میدهند. برای مثال، کارپاتی از کاستوم GPT برای یادگیری زبان کرهای استفاده میکنه.
••تماشای کامل سخنرانی••
آندری کارپاتی، رویکرد شخصیش رو در استفاده از مـدلهـای زبانی بـه اشتراک گذاشته و در سخنرانی جدیدش، بهتفصیل توضیحمیده که چطور میشه یه گفتگو رو با مدلهای زبانی بزرگ انجام داد تا بهترین پاسخها را دریافت کرد.
📄حالا بعضی از جالبترین نکات سخنرانی:
💎هنگام تغییر موضوع، یه چـت جدید رو شروع کنید. این به مدل کمک میکنه تا روی یه سوال خاص تمرکز کنه و از دانشش به طور موثرتری استفاده کنه.
💎شما میتونید فراتر از متن با رباتها گفتگو و تعامل داشته باشین. ChatGPT و سایر دستیارها حالتهای مناسبی برای ارتباط صـوتی ارائـه میدن. همچنین میتونن اطلاعات رو از تصاویر و حتی ویدیوها به صورت سریع پردازش کنند. کارپاتی همینطور گفت که این ویژگیها ممکنه برای بستگان مسن شما خیلی مفید و قابل استفاده باشه.
💎از کاستوم GPTها حتما استفاده کنید. اینها قابلیتهای ChatGPT رو گسترش میدهند. برای مثال، کارپاتی از کاستوم GPT برای یادگیری زبان کرهای استفاده میکنه.
••تماشای کامل سخنرانی••
Forwarded from Gopher Academy
درود به همه
دوستان عزیزی که علاقهمند به تبلیغات در توییتر هستند، میتوانند به من پیام بدن.
@mrbardia72
صفحه توییتر ما با بیش از ۱۱ هزار فالوور فعال، فضای مناسبی برای معرفی کسبوکار شما فراهم میکند.
دوستان عزیزی که علاقهمند به تبلیغات در توییتر هستند، میتوانند به من پیام بدن.
@mrbardia72
صفحه توییتر ما با بیش از ۱۱ هزار فالوور فعال، فضای مناسبی برای معرفی کسبوکار شما فراهم میکند.
Forwarded from DevTwitter | توییت برنامه نویسی
اگر مشکل تغییر timezone تهران به 04:30 رو روی php سرورهاتون دارید
میتونید اکستنشن timezonedb رو روی php فعال و آخرین تغییرات timezone رو دریافت و آپدیت کنید
https://pecl.php.net/package/timezonedb
@DevTwitter | <Rasoul Mousavian/>
میتونید اکستنشن timezonedb رو روی php فعال و آخرین تغییرات timezone رو دریافت و آپدیت کنید
https://pecl.php.net/package/timezonedb
@DevTwitter | <Rasoul Mousavian/>
Forwarded from Linuxor ?
اگه شما سازنده مایکروسافت آفیس بودید با توجه به اینکه برخی کاربران مک او اس دارند آیا نسخه ای برای مک ارائه میدهید؟
Anonymous Poll
19%
خیر این کار را نمیکنم زیرا باعث کاهش وابستگی افراد به ویندوز میشود و از طرف دیگر ضرر میکنیم
30%
بله این کار را میکنم زیرا کاربران بیشتری از محصولات ما استفاده میکنند و بازار خالی را پر میشود
52%
لینوکس پس چی؟
Forwarded from کانال مهرداد لینوکس
🔥 بالاخره Firefox صدای کاربرهاش را شنید و پشتیبانی از Progressive Web Apps (PWAs)
را به فایرفاکس اضافه کرد
✅ اپلیکیشنهای پیشرونده وب (PWA) نوعی از برنامههای تحت وب شبیه وب سایت که تجربهای مشابه با اپلیکیشنهای نصب شده میده
✅ این اپلیکیشنها قابلیتهایی مثل دسترسی آفلاین، ارسال اعلانهای پوش (Push Notifications) و عملکرد سریع دارند
🗓 در نسخه ۵۸ مرورگر فایرفاکس برای اندروید، موزیلا پشتیبانی از قابلیتهای اولیه PWAs را معرفی کرد.
🔥 فایرفاکس در حال (دوباره) افزودن پشتیبانی از Web Apps برای دسکتاپه. در این رویکرد جدید، تمرکز بر ارائه تجربهای «اپمانند» برای هر وبسایتی است که کاربر انتخاب کنه بدون اینکه از ویژگیهای اصلی مرورگر فایرفاکس (مانند نوار آدرس، افزونهها، بوکمارکها و …) چشم پوشی بشه
✅ ویژگیهای کلیدی پشتیبانی جدید از Web Apps در فایرفاکس:
💠نمایش آیکون جداگانه
💠مدیریت پنجرهها
💠انتقال پویا بین تب و حالت اپ
💠یکپارچگی با مرورگر
منبع
را به فایرفاکس اضافه کرد
✅ اپلیکیشنهای پیشرونده وب (PWA) نوعی از برنامههای تحت وب شبیه وب سایت که تجربهای مشابه با اپلیکیشنهای نصب شده میده
✅ این اپلیکیشنها قابلیتهایی مثل دسترسی آفلاین، ارسال اعلانهای پوش (Push Notifications) و عملکرد سریع دارند
🗓 در نسخه ۵۸ مرورگر فایرفاکس برای اندروید، موزیلا پشتیبانی از قابلیتهای اولیه PWAs را معرفی کرد.
🔥 فایرفاکس در حال (دوباره) افزودن پشتیبانی از Web Apps برای دسکتاپه. در این رویکرد جدید، تمرکز بر ارائه تجربهای «اپمانند» برای هر وبسایتی است که کاربر انتخاب کنه بدون اینکه از ویژگیهای اصلی مرورگر فایرفاکس (مانند نوار آدرس، افزونهها، بوکمارکها و …) چشم پوشی بشه
✅ ویژگیهای کلیدی پشتیبانی جدید از Web Apps در فایرفاکس:
💠نمایش آیکون جداگانه
💠مدیریت پنجرهها
💠انتقال پویا بین تب و حالت اپ
💠یکپارچگی با مرورگر
، در نسخههای Nightly فایرفاکس یک تنظیم مخفی به نام browser.taskbarTabs.enabled اضافه شده است که به فعالسازی این قابلیت کمک میکند
منبع
Forwarded from Syntax | سینتکس (alireza-fa)
بررسی معماری پرومتئوس Prometheus
پرومتئوس یک ابزار متنباز برای مانیتورینگ و هشداردهی است که بهطور گسترده در حوزه DevOps و مدیریت سیستمها استفاده میشود ...
در وبلاگ سینتکسفا بخوانید:
https://syntaxfa.com/blogs/prometheus-architecture/
#prometheus
@syntax_fa
پرومتئوس یک ابزار متنباز برای مانیتورینگ و هشداردهی است که بهطور گسترده در حوزه DevOps و مدیریت سیستمها استفاده میشود ...
در وبلاگ سینتکسفا بخوانید:
https://syntaxfa.com/blogs/prometheus-architecture/
#prometheus
@syntax_fa
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
🔶 نسخه ۱.۳ پکیچ لاراول متاباکس منتشر شد.
ویژگی ها افزوده شده :
- Text Field
- Upload Field
- Select Field
- Checkbox Field
- Toggle Field
- Radio Button Field
- Tabs Field
- Gallery Image Field
مستندات انگلیسی همراه با پیش نمایش ها :
https://github.com/Rayiumir/laravel-metabox/blob/main/Documentation/en.md
گیت هاب :
https://github.com/Rayiumir/laravel-metabox
#لاراول
#php
@TheRaymondDev
ویژگی ها افزوده شده :
- Text Field
- Upload Field
- Select Field
- Checkbox Field
- Toggle Field
- Radio Button Field
- Tabs Field
- Gallery Image Field
مستندات انگلیسی همراه با پیش نمایش ها :
https://github.com/Rayiumir/laravel-metabox/blob/main/Documentation/en.md
گیت هاب :
https://github.com/Rayiumir/laravel-metabox
#لاراول
#php
@TheRaymondDev
GitHub
laravel-metabox/Documentation/en.md at main · LaraPire/laravel-metabox
Easy creation of MetaBox for Laravel. Contribute to LaraPire/laravel-metabox development by creating an account on GitHub.
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
سادگی رو با کد ضعیف اشتباه نگیرید 🚀
خیلی برنامهنویسا بین دو تا رویکرد گیر میکنن 🔻
حالا راه حل درست چیه ⁉️
این یعنی کدی که ...
وقتی که کد میزنی، این ۳ تا سوالو از خودت بپرس
سادگی خوب، یعنی طراحی درست و تمیز، نه طراحی ضعیف ✅
خیلی برنامهنویسا بین دو تا رویکرد گیر میکنن 🔻
➊ یه راهحل پیچیده و اورمهندسیشده که شاید خیلی پیشرفته و خفن به نظر برسه، ولی نگهداری و توسعهش سخت بشه.
➋ یه راهحل خیلی دمدستی و بیدقت که فقط برای "جواب دادن" ساخته شده، ولی تو طولانیمدت مشکلسازه.
حالا راه حل درست چیه ⁉️
شما همیشه باید دنبال سادگی هوشمندانه بسته به موقعیت باشید!
این یعنی کدی که ...
➊ خوانا و قابل فهمه
نه فقط برای خودت، برای کل تیم
➋ مینیماله ولی ناقص نیست
یعنی کارو درست انجام میده، نه اینکه یه چیزی رو فدای سادگی کنیم
➌ قابل گسترشه بدون دردسر
اگه بعداً نیاز شد توسعهش بدیم، مجبور نشیم کل سیستمو از نو بسازیم
وقتی که کد میزنی، این ۳ تا سوالو از خودت بپرس
➊ آیا این راهحل، بیش از حد پیچیدست بدون دلیل موجه؟
➋ آیا این سادگی باعث شده کیفیت یا پایداری سیستم کم بشه؟
➌ آیا کسی که بعد از من این کد رو میخونه، راحت متوجه میشه چی کار کردم؟
سادگی خوب، یعنی طراحی درست و تمیز، نه طراحی ضعیف ✅
#programming #tips
𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
Forwarded from Geek Alerts
بخشی از تیم گیکآلرتس بشید 🤍
اگه قلم خوبی دارید یا گرافیست خلاق هستید و کاور حرفهای میتونید طراحی کنید، خوشحال میشیم بخشی از خانواده گیکآلرتس باشید، لطفا فرم رو پر کنید که بتونیم باهاتون در ارتباط باشیم.
https://docs.google.com/forms/d/e/
🤓 @geekalerts
اگه قلم خوبی دارید یا گرافیست خلاق هستید و کاور حرفهای میتونید طراحی کنید، خوشحال میشیم بخشی از خانواده گیکآلرتس باشید، لطفا فرم رو پر کنید که بتونیم باهاتون در ارتباط باشیم.
https://docs.google.com/forms/d/e/
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
Forwarded from mosTafa Arshadi
امروز برای بار هزارم بهم ثابت شد هیچ میزان تنفری بزرگتر از تنفر مردم ایران نسبت بهمدیگه وجود نداره. باورتون نمیشه ادما چقدر از شکست هاتون خوشحال میشن، چقدر به موفقیت هاتون حسودی میکنن و چقدر ازتون متنفرن. هیچکس قرار نیست بهت کمک و رحم کنه. یه کاری برای خودت بکن.
@hamidreza01
@hamidreza01
👍2