كلاود
أمن سيبراني

أمان تطوير المواقع: أفضل الممارسات

كلاود|١٨ أغسطس ٢٠٢٥|4 دقائق قراءة|٤٩٨ مشاهدة
أمان تطوير المواقع: أفضل الممارسات

SQL Injection، XSS، CSRF — تهديدات حقيقية لكل موقع. نشرح OWASP Top 10 وكيف تحمي تطبيقك أثناء التطوير.

لماذا أمان الويب مسؤولية المطور؟

82% من الاختراقات تستغل ثغرات في الكود، ليس في البنية التحتية. هذا يعني أن أمان التطبيق يبدأ من المطور — قبل السيرفر، وقبل الجدار الناري، وقبل أي أداة أمان.

هذا الدليل يغطي أفضل الممارسات الأمنية التي يجب على كل مطور ويب تطبيقها في كل مشروع.

أشهر 10 ثغرات ويب (OWASP Top 10)

1. Injection (حقن الأوامر)

أخطر ثغرة وأقدمها. تحدث عندما يُدخل المهاجم أوامر ضارة عبر حقول الإدخال.

الأنواع:

  • SQL Injection: حقن استعلامات قاعدة البيانات
  • Command Injection: تنفيذ أوامر على السيرفر
  • LDAP Injection: استهداف أنظمة الدليل

الحماية:

  • استخدم Prepared Statements دائماً (Laravel Eloquent يفعل هذا تلقائياً)
  • لا تبني استعلامات SQL بجمع نصوص
  • استخدم ORM بدل SQL المباشر

2. Broken Authentication (مصادقة معطوبة)

عندما يستطيع المهاجم تجاوز نظام تسجيل الدخول.

الحماية:

  • فرض كلمات مرور قوية (12 حرف كحد أدنى)
  • المصادقة الثنائية (2FA) إلزامية
  • تحديد محاولات تسجيل الدخول (Rate Limiting)
  • استخدام JWT أو Session مع تشفير

3. XSS (Cross-Site Scripting)

حقن JavaScript ضار في صفحات الموقع. يسرق بيانات المستخدمين أو يعيد توجيههم.

الحماية:

  • عمل Escape لكل المخرجات (Blade في Laravel يفعل هذا تلقائياً بـ {{ }})
  • استخدام Content-Security-Policy headers
  • تنظيف المدخلات من HTML tags

4. CSRF (Cross-Site Request Forgery)

خداع المستخدم لتنفيذ عملية بدون علمه (مثل تحويل أموال).

الحماية:

  • استخدام CSRF tokens في كل النماذج (Laravel يوفر @csrf تلقائياً)
  • التحقق من Referer header
  • استخدام SameSite cookies

5. Broken Access Control (صلاحيات معطوبة)

المستخدم يصل لبيانات أو عمليات ليست من صلاحياته.

الحماية:

  • التحقق من الصلاحيات في كل طلب (لا تعتمد على إخفاء الرابط)
  • استخدام Policies و Gates في Laravel
  • مبدأ أقل الصلاحيات (Least Privilege)

ممارسات أمنية أساسية

التحقق من المدخلات (Input Validation)

القاعدة الذهبية: لا تثق بأي بيانات من المستخدم.

البيانات التحقق المطلوب
البريد الإلكتروني صيغة صحيحة + وجود حقيقي
كلمة المرور طول + تعقيد + عدم تسريب
الملفات النوع + الحجم + المحتوى
الأرقام النطاق + النوع
النصوص الطول + تنظيف HTML

إدارة كلمات المرور

  1. لا تخزّن كلمات المرور كنص عادي — أبداً
  2. استخدم bcrypt أو Argon2 للتشفير (Laravel يستخدم bcrypt افتراضياً)
  3. أضف salt فريد لكل كلمة مرور
  4. لا تحدد طول أقصى لكلمة المرور
  5. تحقق من كلمات المرور المسربة (Have I Been Pwned API)

HTTPS في كل مكان

لا يوجد عذر لعدم استخدام HTTPS في 2026:

  • شهادات Let's Encrypt مجانية
  • محركات البحث تعاقب المواقع بدون HTTPS
  • المتصفحات تعرض تحذير "غير آمن"
  • HSTS header لمنع التراجع إلى HTTP

Headers الأمنية

Header الوظيفة
Content-Security-Policy يمنع تحميل موارد خارجية غير مصرح بها
X-Content-Type-Options يمنع تخمين نوع الملف
X-Frame-Options يمنع تحميل الموقع في iframe
Strict-Transport-Security يفرض HTTPS
Referrer-Policy يتحكم في معلومات المرجع

أمان قاعدة البيانات

  • صلاحيات محدودة: التطبيق يستخدم حساب قاعدة بيانات بأقل صلاحيات ممكنة
  • تشفير البيانات الحساسة: أرقام الهوية، البطاقات، العناوين
  • النسخ الاحتياطي المشفر: النسخة الاحتياطية بدون تشفير = ثغرة
  • مراجعة الاستعلامات: تسجيل الاستعلامات البطيئة والمشبوهة

أمان API

المصادقة والتفويض

  • كل طلب API يجب أن يكون مصادقاً عليه
  • استخدم JWT مع وقت انتهاء قصير
  • Refresh tokens مع تدوير (Rotation)
  • صلاحيات محددة لكل مفتاح API (Scoped Tokens)

Rate Limiting

حدد عدد الطلبات لكل مستخدم/IP:

النوع الحد الموصى به
تسجيل دخول 5 محاولات / 15 دقيقة
API عام 60 طلب / دقيقة
API مصادق 120 طلب / دقيقة
تحميل ملفات 10 ملفات / ساعة

أدوات فحص الأمان

الأداة الوظيفة التكلفة
OWASP ZAP فحص ثغرات تلقائي مجاني
Snyk فحص مكتبات الطرف الثالث مجاني محدود
SonarQube تحليل جودة الكود مجاني (Community)
Laravel Security Checker فحص مكتبات PHP مجاني
npm audit فحص مكتبات JavaScript مجاني

قائمة تحقق قبل النشر

  1. كل المدخلات محققة ومنظفة
  2. HTTPS مفعّل مع HSTS
  3. Headers الأمنية مضبوطة
  4. كلمات المرور مشفرة بـ bcrypt/Argon2
  5. CSRF tokens في كل النماذج
  6. Rate Limiting مفعّل
  7. سجلات الأحداث الأمنية تعمل
  8. النسخ الاحتياطي مشفر ومُختبر
  9. فحص ثغرات تم تشغيله
  10. بيانات الاعتماد ليست في الكود (استخدم .env)

البنية التحتية الآمنة

الكود الآمن يحتاج سيرفر آمن. كلاود (cloud.net.sa) يوفّر خوادم سحابية في مراكز بيانات سعودية بمعايير Tier III مع حماية DDoS وخيارات نسخ احتياطي مشفر. البيانات تبقى داخل المملكة تحت حماية البيانات داخل المملكة.

الخلاصة

أمان الويب ليس خطوة أخيرة — إنه جزء من كل سطر كود تكتبه. ابدأ بالأساسيات (التحقق من المدخلات + HTTPS + التشفير)، ثم أضف طبقات أمان تدريجياً. التكلفة؟ معظم هذه الممارسات مجانية. تكلفة عدم تطبيقها هي الأغلى.


ابدأ الآن

تبي بيئة آمنة لتطبيقاتك؟ اختر سيرفر محمي بحماية DDoS وجدار ناري متقدم. راجع اتفاقية مستوى الخدمة وسياسة الخصوصية.

مشاركة