دوره آموزشی کدنویسی امن درسی پلاس پلاس
50 دقیقهپیشرفته2025-07-30
مدرسین

Eduardo Corpeño
Electrical Engineer, Computer Programmer, and Teacher for 15+ years
جزئیات دوره
توی این دوره یاد میگیری چطور کد C++ رو بهصورت امن بنویسی و جلوی باگها و حفرههای امنیتی رایج این زبان رو بگیری. این آموزش روی روشهای عملی و در سطح کد تمرکز داره تا بتونی از مشکلاتی مثل مدیریت نادرست ورودیها، خطاهای حافظه و مشکلات طول عمر آبجکتها جلوگیری کنی.
با استفاده از ویژگیهای مدرن C++ و استانداردهای کدنویسی امن، یاد میگیری کدهایی بنویسی که مقاومتر و امنتر باشن. این دوره برای برنامهنویسهایی عالیه که میخوان اپلیکیشنهای مقاوم در برابر حملات و خطاها بسازن.
🎯 اهداف یادگیری
1️⃣ شناسایی ویژگیهای زبان C++ که ممکنه باعث باگهای امنیتی و رفتارهای تعریفنشده بشن.
2️⃣ استفاده از روشهای مدرن C++ برای مدیریت امن ورودیها، حافظه و منابع.
3️⃣ ارزیابی کد برای پیدا کردن مشکلاتی مثل use-after-free، آسیبپذیری رشتههای فرمت، و لو رفتن دادهها.
4️⃣ تحلیل مدیریت دادههای خارجی و طول عمر آبجکتها برای جلوگیری از سوءاستفاده.
5️⃣ ایجاد پیادهسازیهای امن در C++ با الگوهای ایمن، ویژگیهای کامپایلر و حفاظتهای زمان اجرا.
با استفاده از ویژگیهای مدرن C++ و استانداردهای کدنویسی امن، یاد میگیری کدهایی بنویسی که مقاومتر و امنتر باشن. این دوره برای برنامهنویسهایی عالیه که میخوان اپلیکیشنهای مقاوم در برابر حملات و خطاها بسازن.
🎯 اهداف یادگیری
1️⃣ شناسایی ویژگیهای زبان C++ که ممکنه باعث باگهای امنیتی و رفتارهای تعریفنشده بشن.
2️⃣ استفاده از روشهای مدرن C++ برای مدیریت امن ورودیها، حافظه و منابع.
3️⃣ ارزیابی کد برای پیدا کردن مشکلاتی مثل use-after-free، آسیبپذیری رشتههای فرمت، و لو رفتن دادهها.
4️⃣ تحلیل مدیریت دادههای خارجی و طول عمر آبجکتها برای جلوگیری از سوءاستفاده.
5️⃣ ایجاد پیادهسازیهای امن در C++ با الگوهای ایمن، ویژگیهای کامپایلر و حفاظتهای زمان اجرا.
مهارت ها
C++AdvancedProgramming LanguagesOpen SourceSoftware Development
سرفصل ها
۰. مقدمه
- 01 - باگهای امنیتی به سوءاستفاده تبدیل میشوند
- 02 - استانداردهای کدنویسی امن
- 03 - استفاده از فایلهای تمرین در GitHub Codespaces
۱. امنیت با زبان شروع میشود
- 04 - ویژگیهای قابل بهرهبرداری زبان در ++C
- 05 - خطرات رفتار نامشخص
- 06 - جایگزینهای امنتر در ++C مدرن
- 07 - اصلاح عبارات ناامن
۲. اعتبارسنجی و اعتمادسازی دادههای خارجی
- 08 - مدیریت دفاعی ورودیها
- 09 - تبدیلهای عددی و رشتهای ایمن
- 10 - جلوگیری از آسیبپذیریهای رشته قالببندی
- 11 - چالش - ایمنسازی یک تابع تجزیه داده
- 12 - راهکار - ایمنسازی یک تابع تجزیه داده
۳. رشتهها، رازها و افشاگری
- 13 - استفاده امن از std - - string و نمای رشتهای
- 14 - اجتناب از آسیبپذیریهای رشتهای به سبک C
- 15 - جلوگیری از نشت اطلاعات در لاگها
- 16 - چالش - هک کردن رمز عبور رمزگذاری شده
- 17 - راه حل - هک کردن رمز عبور رمزگذاری شده
۴. سوءاستفادههای مربوط به طول عمر حافظه و شیء
- 18 - سناریوهای خطرناک اشارهگر و مرجع
- 19 - جلوگیری از استفاده پس از آزادسازی و حذفهای دوگانه
- 20 - جلوگیری از نشت حافظه
- 21 - چالش - نکات هوشمندانه
- 22 - راه حل - اشاره گرهای هوشمند
۵. تقویت ساختار و رفتارتان
- 23 - پرچمهای کامپایلر و لینکر برای امنیت
- 24 - نوشتن کد مدیریت خطای امن
نتیجهگیری
- 25 - مراحل بعدی
دوره های مرتبط
- دوره آموزشی سی پلاس پلاس پیشرفته: ساخت پروژهها با استفاده از CMake
- دوره آموزشی برنامهنویسی تابعی در سی پلاس پلاس
- دوره آموزشی برنامهنویسی شیگرا با سی پلاس پلاس
- دوره آموزشی راهنمای کامل برنامهنویسی موازی و همزمان با سی پلاس پلاس
- دوره آموزشی راهنمای کامل مبانی برنامهنویسی ++C
- دوره آموزشی ++C مدرن: تکنیکها و ویژگیهای پیشرفته
- دوره آموزشی مدیریت استثناها در سی پلاس پلاس (++C)
- دوره آموزشی سی پلاس پلاس مدرن: لامبدا