تحياتي لكل المطورين والمهتمين بالأمن البرمجي في نقطة التطوير
في عالم البرمجة، القاعدة الأولى والذهبية بتقول: الكود الشغال مش معناه أبداً إنه كود آمن!
كتير من المبرمجين بيكتبوا سكريبتات بتأدي الغرض تماماً، لكن مجرد فحص بسيط بيكشف ثغرات كارثية تخلي أي طفل هاكر يسحب قاعدة البيانات بالكامل أو يسرق جلسات الأدمن في ثواني.
في الموضوع ده، هنقفل مع بعض أشهر 3 ثغرات أمنية في تطبيقات الـ PHP بطريقة عملية 100%.
1. إعدام ثغرة SQL Injection نهائياً بـ PDO Prepared Statements
دمج المتغيرات المباشرة داخل جمل الاستعلام (String Concatenation) هو أكبر جريمة برمجية ممكن ترتكبها:
لما بتستخدم الـ Prepared Statements، قاعدة البيانات بتعامل مدخلات المستخدم على إنها مجرد نصوص (Literals) مش أوامر SQL قابلة للتنفيذ، وبكده الثغرة بتموت تماماً.
2. التصدي لثغرات Cross-Site Scripting (XSS)
لما تطبع أي نص جاي من المستخدم أو من قاعدة البيانات في صفحة HTML، لازم يمر على دالة التعقيم الصارمة:
استخدام ENT_QUOTES بيضمن تحويل علامات التنصيص الفردية والمزدوجة لكيانات HTML آمنة ويمنع حقن أي سكربتات خبيثة.
3. الحماية من هجمات تزوير الطلبات (CSRF Protection)
الـ CSRF بتخلي الضحية ينفذ أمر بدون علمه (زي تغيير الباسورد أو تحويل رصيد) وهو مسجل دخول في موقعك.
الحل هو توليد Token عشوائي مشفر في الجلسة:
استخدام دالة hash_equals بيمنع هجمات الـ Timing Attacks عند مقارنة التوكنز.
4. قواعد حماية الـ Sessions والجلسات في PHP
في أول ملف السكربت، وقبل استدعاء session_start()، اضبط إعدادات الأمان دي:
كلمة من أخوكم Devil Coder:
الأمان مبيكونش خطوة أخيرة بنعملها قبل التسليم، الأمان أسلوب تفكير بيبدأ مع أول سطر كود بتكتبه.
لو عندكم أي استفسار أو كود حابين نراجعه سوا للتأكد من حمايته، اكتبوه في التعليقات وسأكون متواجد للرد عليكم!
في عالم البرمجة، القاعدة الأولى والذهبية بتقول: الكود الشغال مش معناه أبداً إنه كود آمن!
كتير من المبرمجين بيكتبوا سكريبتات بتأدي الغرض تماماً، لكن مجرد فحص بسيط بيكشف ثغرات كارثية تخلي أي طفل هاكر يسحب قاعدة البيانات بالكامل أو يسرق جلسات الأدمن في ثواني.
في الموضوع ده، هنقفل مع بعض أشهر 3 ثغرات أمنية في تطبيقات الـ PHP بطريقة عملية 100%.
دمج المتغيرات المباشرة داخل جمل الاستعلام (String Concatenation) هو أكبر جريمة برمجية ممكن ترتكبها:
PHP:
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
2. التصدي لثغرات Cross-Site Scripting (XSS)
لما تطبع أي نص جاي من المستخدم أو من قاعدة البيانات في صفحة HTML، لازم يمر على دالة التعقيم الصارمة:
PHP:
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
3. الحماية من هجمات تزوير الطلبات (CSRF Protection)
الـ CSRF بتخلي الضحية ينفذ أمر بدون علمه (زي تغيير الباسورد أو تحويل رصيد) وهو مسجل دخول في موقعك.
الحل هو توليد Token عشوائي مشفر في الجلسة:
PHP:
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
4. قواعد حماية الـ Sessions والجلسات في PHP
في أول ملف السكربت، وقبل استدعاء session_start()، اضبط إعدادات الأمان دي:
PHP:
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
كلمة من أخوكم Devil Coder:
الأمان مبيكونش خطوة أخيرة بنعملها قبل التسليم، الأمان أسلوب تفكير بيبدأ مع أول سطر كود بتكتبه.
لو عندكم أي استفسار أو كود حابين نراجعه سوا للتأكد من حمايته، اكتبوه في التعليقات وسأكون متواجد للرد عليكم!