Forwarded from محتوای آزاد سهراب
میخوام اول این سوال رو مطرح کنم بعدش که نظرات مختلف رو دیدم یک مطلبی رو بنویسم.
« شما اگر یک پروژهای رو روی گیتهاب بدون لایسنس ببینید، چه استفادهای ازش میکنید؟ واکنشتون نسبت بهش چیه؟ »
@SohrabContents
« شما اگر یک پروژهای رو روی گیتهاب بدون لایسنس ببینید، چه استفادهای ازش میکنید؟ واکنشتون نسبت بهش چیه؟ »
@SohrabContents
Forwarded from 🎄 یک برنامه نویس تنبل ( MΞ)
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| Share your GitHub profile |
|______________|
\ (•◡•) /
\ /
----
| |
_| |_
@TheRaymondDev
| Share your GitHub profile |
|______________|
\ (•◡•) /
\ /
----
| |
_| |_
@TheRaymondDev
Forwarded from Anarchonomy
از جمله «خبرهای تلخ ولی قابل انتظار» این بود که شرکت سازنده آلمانی دوربینهای الکسا، که ۸۰ درصد فیلمهایی که از بچگی تا الان دیدید رو با یکی از دوربینهاش فیلمبرداری کردهاند، در آستانه ورشکستگیه و اگه کسی پیدا بشه که بخردشون خوشحال میشن. وقتی دیگه حتی با آیفون هم میشه فیلم سینمایی ساخت، بازار دوربینی که ۵۰ هزار دلار قیمت داره محدود میشه به چندتا استودیو فیلمسازی، که اونها هم هر ده سال یکبار ممکنه خرید جدید انجام بدن. این شرکت بیزینس خودش رو با فروختن به اجارهبدهها تنظیم کرده بود و الان دیگه کسی حاضر نیست این مبالغ سنگین روزانه رو برای اجاره بده وقتی با همون پول میتونه دوربینی بخره که ۹۰ درصد همون کیفیت رو میده (چون مردم متوجه ۱۰ درصد مابقی نمیشن) و دوربین هم مال خودشه. همزمان ارتقاء سریع هوش مصنوعی داره کل موضوع فیلمبرداری رو به حاشیه میبره.
نسل ما نسل خاصی بود که هم نوار نگاتیو رو دید، هم بیمشتری شدن بهترین سنسور دیجیتال رو.
نسل ما نسل خاصی بود که هم نوار نگاتیو رو دید، هم بیمشتری شدن بهترین سنسور دیجیتال رو.
Forwarded from DevTwitter | توییت برنامه نویسی
افزونه Laravel Idea برنامه PHPStorm رایگان شده
برای توسعه راحتتر پیشنهاد میشه نصب کنید
https://blog.jetbrains.com/phpstorm/2025/07/laravel-idea-is-now-free/
@DevTwitter | <Developer One/>
برای توسعه راحتتر پیشنهاد میشه نصب کنید
https://blog.jetbrains.com/phpstorm/2025/07/laravel-idea-is-now-free/
@DevTwitter | <Developer One/>
Forwarded from امین رشیدبیگی | مهندسی نرمافزار
آسیبپذیری IDOR
آسیبپذیری IDOR یا Insecure Direct Object Reference که زیرمجموعهای از آسیبپذیریهای کنترل دسترسیه، زمانی اتفاق میافته که یه API طوری طراحی شده باشه که با استفاده از شناسههای قابل حدس، مثل یوزرنیم یا عددهای افزایشی (مثلاً 123)، امکان دسترسی به اطلاعات رو بده.
یعنی اگر من یوزر 123 هستم و به اطلاعات خودم دسترسی دارم، بتونم با تغییر عدد به 124، اطلاعات یوزر بعدی رو هم ببینم.
حالا تصور کنید این مسئله فقط برای خوندن دادهها نباشه؛ یه متد
با وجود این که خیلیهامون با این مسئله آشناییم، IDOR هنوز هم جزء آسیبپذیریهای خیلی رایج محسوب میشه و توی پروژههای زیادی دیده میشه. [+][+]
راهحل چیه؟
اولین چیزی که به ذهن میرسه استفاده از شناسههای غیرقابل پیشبینیه؛ مثلاً UUID. اینجوری دیگه مهاجم نمیتونه حدس بزنه که یوزر بعدی کیه. اما این راهحل کامل نیست.
درسته که دیگه نمیشه با یه اسکریپت ساده یا تغییر دستی آیدیها به اطلاعات بقیه رسید، ولی اگه مهاجم به یه لیست از UUIDها دسترسی پیدا کنه (مثلاً از طریق ایندکسهای دایرکتوری یا ابزارهایی مثل gau)، همچنان میتونه از API سوءاستفاده کنه. استفادهی صرف از UUID حتی ممکنه توهم امنیت ایجاد کنه و باعث شه مشکل برای مدت طولانی کشف نشه.
راه حل اصولیتر چیه؟
راهحل بهتر، اضافه کردن ولیدیشن و authorization قبل از دسترسی به اطلاعاته. اگه قراره کاربری بتونه به اطلاعاتی دسترسی داشته باشه یا تغییری روش اعمال کنه، باید توی کد بررسی کنیم که آیا کاربر احراز هویتشده مجاز به دسترسی به اون داده هست یا نه.
مثلاً اگه یوزری لاگین کرده و تلاش میکنه اطلاعاتی شخصی رو تغییر بده، مطمئن بشیم که
@aminrbg
آسیبپذیری IDOR یا Insecure Direct Object Reference که زیرمجموعهای از آسیبپذیریهای کنترل دسترسیه، زمانی اتفاق میافته که یه API طوری طراحی شده باشه که با استفاده از شناسههای قابل حدس، مثل یوزرنیم یا عددهای افزایشی (مثلاً 123)، امکان دسترسی به اطلاعات رو بده.
یعنی اگر من یوزر 123 هستم و به اطلاعات خودم دسترسی دارم، بتونم با تغییر عدد به 124، اطلاعات یوزر بعدی رو هم ببینم.
حالا تصور کنید این مسئله فقط برای خوندن دادهها نباشه؛ یه متد
update هم وجود داشته باشه که با گرفتن همون ID اطلاعات رو تغییر بده. اینجوری مهاجم نهتنها میتونه اطلاعات بقیه رو ببینه، بلکه حتی میتونه تغییرشون هم بده.با وجود این که خیلیهامون با این مسئله آشناییم، IDOR هنوز هم جزء آسیبپذیریهای خیلی رایج محسوب میشه و توی پروژههای زیادی دیده میشه. [+][+]
راهحل چیه؟
اولین چیزی که به ذهن میرسه استفاده از شناسههای غیرقابل پیشبینیه؛ مثلاً UUID. اینجوری دیگه مهاجم نمیتونه حدس بزنه که یوزر بعدی کیه. اما این راهحل کامل نیست.
درسته که دیگه نمیشه با یه اسکریپت ساده یا تغییر دستی آیدیها به اطلاعات بقیه رسید، ولی اگه مهاجم به یه لیست از UUIDها دسترسی پیدا کنه (مثلاً از طریق ایندکسهای دایرکتوری یا ابزارهایی مثل gau)، همچنان میتونه از API سوءاستفاده کنه. استفادهی صرف از UUID حتی ممکنه توهم امنیت ایجاد کنه و باعث شه مشکل برای مدت طولانی کشف نشه.
راه حل اصولیتر چیه؟
راهحل بهتر، اضافه کردن ولیدیشن و authorization قبل از دسترسی به اطلاعاته. اگه قراره کاربری بتونه به اطلاعاتی دسترسی داشته باشه یا تغییری روش اعمال کنه، باید توی کد بررسی کنیم که آیا کاربر احراز هویتشده مجاز به دسترسی به اون داده هست یا نه.
مثلاً اگه یوزری لاگین کرده و تلاش میکنه اطلاعاتی شخصی رو تغییر بده، مطمئن بشیم که
user_id اون رکورد مربوط به خودشه.@aminrbg
Forwarded from محتوای آزاد سهراب
توی گروه مشهدلاگ دیشب یک بحثی در این رابطه توی گروه بود، که حالا میخوام یک سری توضیحات بنویسم در موردش.
به صورت پیشفرض، برنامهای که لایسنس نداشته باشه (مخزنی که لایسنس نداشته باشه) به صورت پیشفرض انحصاری تلقی میشه:
توی وبسایت choosealicense که توسط گیتهاب میزبانی میشه، در صفحهای که مربوط به این موضوع هستش یک پاراگراف توضیح نوشته برای کاربر:
که میشه چندتا کار در قبال این موارد انجام داد که عبارتند از:
۱- درخواست از توسعه دهنده برای اضافه کردن لایسنس
۲- نوشتن معادل یا پیدا کردن معادل
۳- دوری کردن از اون سورسکد
در مبنای حقوقی هم، لایسنس نداشتن به این معنی نیست که با اون سورسکد شما هرکاری دوست داشتید بکنید، به صورت پیشفرض قانون کپیرایت شاملش میشه و مالک اون مخزن میتونه از شما شکایت کنه:
https://www.wipo.int/treaties/en/ip/berne/summary_berne.html
درکمال ناباوری توی ایران هم قانون حمایت از حقوق پدیدآورندگان نرمافزارهای رایانهای شامل این موارد میشه.
طبق بند ۹ اون قانون:
شما بدون اجازه مالک اون مخزن امکان استفاده از اون سورس رو ندارید.
@SohrabContents
به صورت پیشفرض، برنامهای که لایسنس نداشته باشه (مخزنی که لایسنس نداشته باشه) به صورت پیشفرض انحصاری تلقی میشه:
توی وبسایت choosealicense که توسط گیتهاب میزبانی میشه، در صفحهای که مربوط به این موضوع هستش یک پاراگراف توضیح نوشته برای کاربر:
If you find software that doesn’t have a license, that generally means you have no permission from the creators of the software to use, modify, or share the software. Although a code host such as GitHub may allow you to view and fork the code, this does not imply that you are permitted to use, modify, or share the software for any purpose.
که میشه چندتا کار در قبال این موارد انجام داد که عبارتند از:
۱- درخواست از توسعه دهنده برای اضافه کردن لایسنس
۲- نوشتن معادل یا پیدا کردن معادل
۳- دوری کردن از اون سورسکد
در مبنای حقوقی هم، لایسنس نداشتن به این معنی نیست که با اون سورسکد شما هرکاری دوست داشتید بکنید، به صورت پیشفرض قانون کپیرایت شاملش میشه و مالک اون مخزن میتونه از شما شکایت کنه:
https://www.wipo.int/treaties/en/ip/berne/summary_berne.html
درکمال ناباوری توی ایران هم قانون حمایت از حقوق پدیدآورندگان نرمافزارهای رایانهای شامل این موارد میشه.
طبق بند ۹ اون قانون:
حقوق مادی و معنوی نرمافزار به پدیدآورنده تعلق دارد. استفاده از تمام یا قسمتی از حقوق مادیموضوع قانون برای مدت ۳۰ سال یا کمتر، با قید شرط یا بدون شرط به اشخاص دیگر قابل نقل و انتقال میباشد.اشخاصی که به ترتیب فوق اجازه نشر یا عرضه یا اجرای نرمافزاری را که دیگری پدیدآورده است به دست آوردهاندمکلفند نام پدیدآورنده را نیز در نسخ عرضه شده ذکر نمایند مگر اینکه با پدیدآورنده به گونهای دیگر توافق شدهباشد.
شما بدون اجازه مالک اون مخزن امکان استفاده از اون سورس رو ندارید.
@SohrabContents
Choose a License
No License
You’re under no obligation to choose a license and it’s your right not to include one with your code or project. But please note that opting out of open source licenses doesn’t mean you’re opting out of copyright law.
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
یه مدل جدید اومده برای Parse کردن داکیومنت و OCR.حدود 100 زبان از جمله فارسی را هم پشتیبانی میکنه. من برای یه عکس یه مقاله امتحان کردم که نتیجه خیلی عالی بود. مدل با اینکه 1.7B پارامتر داره ولی نتایج خیلی خوبه؛ با اینکه خیلی سبکه ولی نتایج در حد Gemini 2.5 Pro عمل میکنه.
تست :
dotsocr.xiaohongshu.com
سورس کد :
github.com/rednote-hilab/dots.ocr
@Linuxor ~ MehdiAllahyari
تست :
dotsocr.xiaohongshu.com
سورس کد :
github.com/rednote-hilab/dots.ocr
@Linuxor ~ MehdiAllahyari
Forwarded from Go Casts 🚀
اگه طرفدار و کاربر editorهای ترمینالی مثل vim و مشتقاتش هستید پیشنهاد میکنم حتما Helix رو امتحان کنید.
با Rust توسعه داده شده و learning curve خیلی راحت تری داره.
همیشه لیست hotkeyهای مد نظرتون جلوی چشمتونه و لازم نیست همه چیز رو حفظ کنید یا اونقدر تمرین کنید که ملکه ذهنتون بشه.
دو هفته ای میشه که محیط اصلی توسعه خودم هست و بشدت ازش راضیم.
مزیت اصلی ش نسبت به vim همینه که در یه زمان خیلی محدود میتونید روش مسلط بشید و به عنوان محیط اصلی توسعه ازش استفاده کنید.
ترکیب zellij با helix یه محیط خیلی حرفه ای و customize شده توسعه رو میتونه بهتون بده.
اگه تجربه تون با vim شکست خورده مثل من، با helix یه تلاش مجدد کنید شاید این بار موفقیت آمیز باشه...
https://helix-editor.com
@gocasts
با Rust توسعه داده شده و learning curve خیلی راحت تری داره.
همیشه لیست hotkeyهای مد نظرتون جلوی چشمتونه و لازم نیست همه چیز رو حفظ کنید یا اونقدر تمرین کنید که ملکه ذهنتون بشه.
دو هفته ای میشه که محیط اصلی توسعه خودم هست و بشدت ازش راضیم.
مزیت اصلی ش نسبت به vim همینه که در یه زمان خیلی محدود میتونید روش مسلط بشید و به عنوان محیط اصلی توسعه ازش استفاده کنید.
ترکیب zellij با helix یه محیط خیلی حرفه ای و customize شده توسعه رو میتونه بهتون بده.
اگه تجربه تون با vim شکست خورده مثل من، با helix یه تلاش مجدد کنید شاید این بار موفقیت آمیز باشه...
https://helix-editor.com
@gocasts
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
ویدیو شماره ۱۲ - سرویس dnsdist
توی این ویدیو از سرویس dnsdist استفاده کردم و توضیح دادم که چه قابلیتهایی داره و کجاها میتونیم و باید ازش استفاده کنیم.
https://youtu.be/Vkmep7WNk5M?si=qvm4ZaSMbXmvyk-4
توی این ویدیو از سرویس dnsdist استفاده کردم و توضیح دادم که چه قابلیتهایی داره و کجاها میتونیم و باید ازش استفاده کنیم.
https://youtu.be/Vkmep7WNk5M?si=qvm4ZaSMbXmvyk-4
Forwarded from DevTwitter | توییت برنامه نویسی
یه cli ساختم برای ساخت پروژه های جاوااسکریپت
پروژه ها میتونن فول استک یا به صورت تکی بکند یا فرانت باشن
هر بار میخواستم یه پروژه ری اکت + vite بسازم میخواست یه command طولانی رو حفظ کنم برا همین اینو ساختم امیدوارم شما هم خوشتون بیاد و خوشحال میشم مشکلاتش رو توی issues گیتهاب بزارید
https://www.npmjs.com/package/booz-stack
@DevTwitter | <../>
پروژه ها میتونن فول استک یا به صورت تکی بکند یا فرانت باشن
هر بار میخواستم یه پروژه ری اکت + vite بسازم میخواست یه command طولانی رو حفظ کنم برا همین اینو ساختم امیدوارم شما هم خوشتون بیاد و خوشحال میشم مشکلاتش رو توی issues گیتهاب بزارید
https://www.npmjs.com/package/booz-stack
@DevTwitter | <../>
Forwarded from Linuxor ?
Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
در راستای تاثیر ai روی افرادی که تازه شروع کردن
یکی اونایی که میبینن ai هست و موقعیت رو برای خودشون برای یادگیری غیر ممکن و بدون آینده میبینن برام خنده داره
یکی هم خنده دار تر، اونایی که میبینن ai هست خودشونو همه کاره جا میزنن:))
طرفو باهاش حرف میزنی هیچی حالیش نیست ولی همه جور پروژه ای میزنه. نمیدونم بک اند بدی میزنه فرانت بدی میزنه دواپس بدی کار میکنه دیزاین هرچیییی.
بعد وقتی داری باهاش صحبت میکنی یه کلمه در میون اینارو میشنوی:
ai
LLM
grok
gpt
4o
Gemeni
...
نه که استفاده کردن از اینا بد باشه ها...
بحث اینه که این افراد دیگه یباره بالا خونه رو دادن اجاره و اوج زحمتی که میکشن تمدید اکانت cursor یا نمیدونم copilot های مختلفه
یکی اونایی که میبینن ai هست و موقعیت رو برای خودشون برای یادگیری غیر ممکن و بدون آینده میبینن برام خنده داره
یکی هم خنده دار تر، اونایی که میبینن ai هست خودشونو همه کاره جا میزنن:))
طرفو باهاش حرف میزنی هیچی حالیش نیست ولی همه جور پروژه ای میزنه. نمیدونم بک اند بدی میزنه فرانت بدی میزنه دواپس بدی کار میکنه دیزاین هرچیییی.
بعد وقتی داری باهاش صحبت میکنی یه کلمه در میون اینارو میشنوی:
ai
LLM
grok
gpt
4o
Gemeni
...
نه که استفاده کردن از اینا بد باشه ها...
بحث اینه که این افراد دیگه یباره بالا خونه رو دادن اجاره و اوج زحمتی که میکشن تمدید اکانت cursor یا نمیدونم copilot های مختلفه
Forwarded from محتوای آزاد سهراب