رفتن به مطلب
مرورگر پیشنهادی آرساکیا گیم مرورگر های تحت موتور کرومیوم می‌باشد، برای دانلود روی مرورگر انتخابی خود کلیک کنید
Google Chrome Microsoft Edge Ungoogled Chromium Brave Opera GX Opera

Integer

عضو
  • تعداد ارسال ها

    844
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    1

Integer آخرین بار در روز December 28 2024 برنده شده

Integer یکی از رکورد داران بیشترین تعداد پسند مطالب است!

درباره Integer

  • تاریخ تولد 02/05/2004

اطلاعات شخصی

  • نام کاربری در بازی
    FaIse

آخرین بازدید کنندگان نمایه

6914 بازدید کننده نمایه

دستاورد های Integer

  1. به نام خداوند جان و خرد سلاممممممممممممم خدمت همه ی شما دوستان عزیز با یه تاپیک آموزنده ی دیگه در خدمتتونم میخوایم بررسی کنیم و ببینیم که چرا نباید با یه اکوسیستم مذخرف به نام نود جی اس و فریم ورک هایی که برای ما مرورگر های به ظاهر اپلیکیشن میسازن, نباید اپلیکیشن های دسکتاپ و موبایل توسعه بدیم بی مقدمه میریم سراغ مطلب اصلی 1- الکترون و آیونیک, چرا نباید ازشون استفاده کنیم؟ مورد 1: مرورگر های به ظاهر اپلیکیشن وقتی که شما اپلیکیشن هاتون رو با الکترون و آیونیک (و حتی React Native) میسازید, در اصل دارید مرورگر کروم و کلا کرومیوم رو میچپونید توی اپلیکیشنتون (وب ویو, کرومیوم) در صورتی که فریم ورک ها و زبان های برنامه نویسی Native (C/C++, C#, Ruby, Go, Java, Kotlin, Python, Erlang, Elixir و...) و خب این افتضاهه و غیر قابل قبول, چون فرض کنید: یه اپلیکیشن هلو ورلد اصلا میخواید بسازید یهو خروجی میگیرید میبینید عه 30 مگابایت فقط واسه ی هلو ورلد در صورتی که اگر با زبان ها و فریم ورک های Native که برای اینکار ساخته شدن بسازید, حجمی معادل 10-20 کیلوبایت فقط میگیره! این به خاطر این هستش که شما با الکترون و آیونیک دارید یه کرومیوم رو میکنید توی اپلیکیشنتون, نتیجه: مروگر های قلابی به ظاهر اپلیکیشن مورد 2: مصرف رم و منابع بیش از حد وقتی که شما با الکترون و آیونیک اپلیکیشن بسازید یه ظاهر خیلی خیلی قشنگی شاید داشته باشید (مثلا! قشنگ تر از اون رو با رندر گرافیکی (OpenGL, Dx, Win32) و کرنل های گرافیکی (CUDA, OpenCL, Vulkan) و بک اند گرافیکی (SDL3, SDL2 و...) و با یه فریم ورک تمیز و جمع و جور مثل Dear ImGui و سی پلاس پلاس/سی و کمی خلاقیت خودتون متونید بسازید!) ولی رم و سی پی یو کاربراتون رو فدا میکنید! مثل مایروسافت (که وی اس کد و اینارو با نود جی اس درست کرده, فقط هم برای اینکه بتونه توی وب هم ازش استفاده کنه! خیلی جالبه), نتیجه: مصرف رم فضایی, پایداری پایین تر مورد 3: تجربه ی کاربری قلابی نتیو یو آی (Native UI) دقیقا با ظاهر و رفتار سیستم عامل هماهنگه (Qt, wxWidgets, JavaFX, WinForms, Cocoa) کاربر حس میکنه که واقعا اپلیکیشن جزو سیستم عاملشه, نه یه مروگر قلابی توی آیونیک و الکترون همه چیز وب ویو هستش با کلی لگ, نتیجه: حتی تجربه ی کاربری هم قلابی مورد 4: دسترسی کامل به API های سیستم عامل با زبان های برنامه نویسی نتیو, شما میتونید کامل به سیستم عامل دسترسی داشته باشید: GPU, CPU, RAM (Memory), Hard, Drivers, Network, و... اما با الکترون, آیونیک و حتی ریکت نتیو در بعضی جاها, فقط دسترسی به API های مروگر رو دارید (اونم تازه همشون, نه فقط اونایی که نیاز دارید) نتیجه: ساخت نرم افزار های ضعیف پ.ن: حتی خود کروم هم با زبان های نتیو (سی سی پلاس پلاس گولنگ (تا جایی که یادمه)) ساخته شدن, چون الکترون و آیونیک برای ساخت نرم افزار های سنگین, و با قابلیت های پیشرفته, مناسب نیستن 2- چرا به اینجا رسیدیم؟ دلیل اینکه الان جاوااسکریپت داره برای دسکتاپ هم استفاده میشه جرقه ی اشتباهی بود که توسط جامعه زده شد: جاوااسکریپت (1995): برای ساخت و اسکریپت نویسی انیمیشن های ساده و تعامل با کاربر در مرورگر (در مرورگر!) بود نود جی اس (2009): جاوااسکریپت سمت سرور (و خارج از مروگر) -> جرقه ی اشتباه از همون شروع, چون فلسفه ی اصلی عه جاوااسکریپت رو زیر سوال برد الکترون (2013): گیت هاب اومد وسط و گفتش (خب, حالا ماهم یه خودی نشون بدیم) و الکترون رو ساخت, ه برای ساخت اپلییشن های دستاپ بود خب, حالا مشکل از کجا بود؟ جاوااسکریپت برای ساخت اپلیکیشن های دسکتاپی و موبایلی ساخته نشده بود (چه سبک, چه سنگین) نتیجه چی شد؟ اپلیکیشن های سبک (Slack, Teams و...) الان سنگین تر از فتوشاپ هستن که با سی/سی پلاس پلاس ساخته شده! این یعنی زیاده روی: زبانی که برای اسکریپت نویسی برای انیمیشن های سبک بود, الان داره سرور, دیتابیس و... رو هندل میکنه این اشتباهه مشکل اصلی کیست و چیست؟ مشکل اصلی اینه که متاسفانه جامعه و شرکت های بزرگ دارن حمایت میکنن از گیت هاب بگیر تااااا مایکروسافت و دیسکورد و بقیه چون که براشون منفعت داره جدیدا هم نگاه کرده باشید توی Visual Studio Build Tools بخش (چطوری استفاد کنیم) مایکروسافت آموزش نود جی اس (نصب و استفاده) رو گذاشته! و خب خیلی جالب بود واسم کسی که خودش یه اکوسیستم عظیم به نام .NET ریز دسشته, داره از یه ران تایم کوچیک که تنها نکته ی مثبتش استفاده از libuv (C/C++) هستش برای Event-Driven, Async و... هستش داره حمایت میکنه! خب دیگه چی؟ خب, فقط حالا که به آخر تاپیک رسیدیم بنده یه ران تایم (در اصل اسمش ران تایم هتش چون میتونه با تمام زبان های برنامه نویسی ارتباط برقرار کنه, وگرنه فریم ورک هستش) برای Stremas (Async, Await, Event Loop, Actor, Parallel (چیزی که نود جی اس نداره), Promise & Future (همون چیزی که Async,Await روش ساخته شدن), Poller, Deadlines, WebSocket, HTTP, TLS و...) ساختم به اسم OLSRT توضیحات اظافه تری نمیدم, خودتون میتونید یه نگاهی بهش بندازید: Click on me شب و روز امیدوارم بر شما خوش باشد خدانگدار یک یک شوما ها
  2. Integer

    Network Mapper (NMap) :: Ports

  3. داشم AI
  4. Raksamp (Rakdroid) رو میتونید نصب کنید، ولی خرید VPS از سایت های معتبر (تک وی پی اس و...) عالیه RSM فقط یه مینجره VPS نیست
  5. Integer

    آپ اطلاع باز شدن اقلیت

    ببینید نشدنی نیستش، به این کار میگن وب اسکرپینگ، با پایتون به شدت ساده میشه انجامش داد، ولی غیر قانونی هستش، و بعضی از سایت ها میان وب اسکرپینگ رو بن میکنن و ممکنه پیگرد قانونی داشته باشه
  6. Integer

    Network Mapper (NMap) :: Ports

    ای وای ببخشید دیگه بود بهت، آموزشای بعدی هم در راهن هنوز ولتون نکردم...
  7. Integer

    زبان های برتر تحت وب

  8. Integer

    ۴ زبان برنامه نویسی تحت وب

  9. CSS = Counter Strike Source CSS = Cascading Style Sheets
  10. + بلی
  11. Integer

    Happy Programmer's Day 😍🥳

  12. Integer

    Network Mapper (NMap)

    چی بگیم والله بعد ۴ سال کمه هنوز
  13. ممنونم
  14. ممنونم
  15. Integer

    ادویه جات برنامه نویسا 🌶️🧂

    به نام خداوند جان و خرد سلام عرض میکنم خدمت همه ی شما دوستان و هم وطنان عزیز امیدوارم حال یک یکتون خوب باشه امروز می‌خوایم ادویه جات های برنامه نویسا رو بررسی کنیم می‌خوایم ببینیم چقد برنامه نویسا از ادویه جات توی غذاشون (کداشون) استفاده میکنن (تمامی مباحث گفته شده مربوط به امنیت و صفحاتی همچون لاگین و رجیستر هستش) 1- نمک (Salt) چیست؟ در برنامه نویسی و امنیت و کلا کسایی که به این موضوع ها علاقه دارن، نمک یکی از ادویه های مفیدی هستش که به اندازه های مختلف و تصادفی (Random) توی غذا میریزن برنامه نویسا نمک یه متن تصادفی هستش که زمانی که کاربر میخوادش پسوردش رو وارد کنه (فقط وقتی که میخواد رجیستر کنه، توی PHP این اتفاق به صورت اتوماتیک میوفته)، و بعد متن هش میشه و در دیتابیس ذخیره میشه، اینکار امنیت رو از چند لحاظ بالا می‌بره: 1- یک متن رندوم تصادفی برای هر کاربر میسازه، یعنی اگه چندین کاربر پسوردشون ۱ ۲ ۳ ۴ باشه برای هر کدوم هش جداگانه ای ساخته میشه و اگه دیتابیس دسته هکر بیوفته نمیتونه کار زیادی انجام بده و خیلی طولانی میشه انجام کار ها، حداقل ۲۸ کاراکتر و حداکثر ۱۲۸ کاراکتر باید طول نمک باشه 2- فلفل (Pepper) چیست؟ توی برنامه نویسی به جز نمک یک مبحث دیگه ای داریم تحت عنوان "فلفل تند و آتشین"! قشنگ پدره هکر رو در میاره! طبق محاسبات محققان، اگه فلفل اضافه شه به پسورد عه کاربرا حتی با ابر کامپیوتر و ابر سیستم ها میلیارد ها سال نوری طول می‌کشه تا هکر بتونه پسورد رو به دست بیاره، (حتی اگه نمک رو نزارین)، اما خب این همه توضیح دادیم درست، فلفل تند و آتشین دقیقا چیه؟ فلفل دقیقا برخلاف نمک یک متن تصادفی نیستش، برای همه ی کاربر ها یکی هستش، اما!!! برخلاف نمک و بقیه مباحث، فلفل مستقیما توی دیتابیس ذخیره نمیشه، فلفل هم مانند نمک به پسورد اضافه میشه، هش میشه و سپس توی دیتابیس ذخیره میشه، طول فلفل از ۱۲۸ کاراکتر تا بینهایت کاراکتر هستش، اگه ۱۲۸ کاراکتر باشه میلیارد ها سال نوری عه، ببینید ۵۷۳۸۳۷ کاراکتر یا بیشتر باشه چی میشه... فلفل یک متنی هستش که توی فایل های حیاطی مثل .env ذخیره میشه و هروقت که کاربر بخواهید رجیستر & لاگین کنه اون به متن کاربر اضافه میشه، اما خب آقا اگه اضافه میشه به صورت سیستمی به چه دردی میخوره توی حملات آنلاین (بروت فورس، رینبو تیبل و...)، دقیقا مبحث فلفل برای بخش آفلاین هستش، نه آنلاین، زمانی که هکر دیتابیس رو بدست آورده باشه، فقط یک پسورد هش شده تحویل میگیره، این پسورد هش شده ترکیبی از پسورد کاربر و فلفل و حتی اگه خواستین نمک هستش، (البته نمک برای جلوگیری از رینبو تیبل (Rainbow Table) هستش بالا یه اشتباهی شد )، و حالا هکر بخواد متن هش شده رو با نرم افزار هایی مثل Hashcat, John The Ripper, و... آن هش کنه و متن اصلی رو بدست بیاره، اینجا فلفل خودشو نشون داده، هکر تا زمانی که متن عه اصلی عه فلفل که توی .env ذخیره شده رو نداشته باشه، ببخشینا هیچ نمیتونن نوش جان فرمایند ، ولی اگه داشته باشه، ببخشینا شما دیگه نمیتونی کاری انجام بدین ، واسه همینه که .env مهم ترین فایل عه همه ی پروژه ها هستش! ۱۰۰٪ مطمعنم هیچکدوم هیچی متوجه نشدین، بدیهی هستش، تا کد رو نبینین اینجور مباحث رو متوجه نمیشید، چون یه مبحثی نیستش که بگید آره مثلا دو تا کلمه میخونم تموم میشه میره، باید به صورت عملی ببینید که چی به چیه تا متوجه بشید: حالا دیگه حرف بسه، کدمون رو نشونتون می‌دیم! <?php // نمک Salt $password = "Password_Test"; // تابع یه password_hash در PHP میاد و به صورت اتوماتیک نمک رو اظافه میکنه اما خب من باز میگم دیگه $salt = openssl_pseudo_random_bytes(50); //یک قاشق نمک (۵۰ بایت نمک) $passwordWithSalt = $salt . $password; // روش های زیادی برای اطافه کردن نمک وجود داره به پسورد /* روش های اصولی: $salt . $password $password . $salt $salt . $password . $salt */ // اگر نمک رو به صورت دستی بنویسید باید به اندازه ی بایت هایی که برای نمک گذاشتید رو از جاهایی که گذاشتید (اول، اخر یا هردو) حذف کنید و بعد اعتبارسنجی کنید ببینید آیا هش شده ی پسورد عه الان عه کاربر با هش شده ی پسورد قبلیش یکیه یا نه، باید از یک الگوریتم استفاده کنید واسه هم اعتبارسنجی هم رجیستر // پیشنهاد میکنم از password_hash و password_verify توی پی اچ پی استفاده کنید که این کا ها رو (به جز فلفل که خودتون باید اظافه کنید رو) انجام میدن هم اعتبارسنجی هم ساخت نمک هم همه ی کار هایی که بالا گفتم رو // فلفل Pepper $password = "PasswordTEST"; $pepper = "PEPPER_TEXT_HELLO_HOWAREYOUHFNDJDBSHEJDUFH"; // مثال هستش، وگرنه یک متن معنا دار (یا هش شده) هستش که از .env خونده میشه $passwordWithSomePepper = $password . $pepper; // این در دیتابیس ذخیره میشه $passwordHash = password_hash($passwordWithSomePepper, "ARGON2ID"); // Authentication $password = "shsh"; // پسوردی که کاربر وارد کرده (در لاگین) $pepper = $pepper; // همون فلفل تندی که توی .env هستش $passwordWithPepper = $password . $pepper; // پسوردی که کاربر توی لاگین وارد کرده + پسوردی که توی دیتابیس هستش if(password_verify($passwordWithPepper, $passwordHash) { echo "هش ها یکسان هستن و کاربر پسوردش درسته"; } else { echo "هش ها یکسان نیستن پس پسورد اشتباهه"; } این تمام ماجرای فلفل و نمک هستش فقط کد هارو زیادی شور یا تند نکنینا شیطونا امیدوارم که خوشتون اومده باشه، تا تاپیک های بعدی شما رو به خداوند بزرگ میسپارم، خدا یار و نگهدارتون باشه!
×
×
  • اضافه کردن...