الهجمات مثل SQL Injection و Cross-Site Scripting (XSS) تشكل تهديدًا خطيرًا لأمان التطبيقات، حيث تستغل الثغرات الأمنية لإدخال أكواد ضارة تؤثر على قاعدة البيانات أو المستخدمين الآخرين.

💾 1. الحماية ضد SQL Injection

🔹 SQL Injection يحدث عندما يتمكن المهاجم من إدخال أكواد SQL غير موثوقة في استعلام قاعدة البيانات، مما يسمح له بتعديل البيانات أو الوصول إلى معلومات سرية.

✔️ استخدام الـ Prepared Statements لمنع الإدخال المباشر:

php

$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->execute(['username' => $input]);

✅ هنا يتم فصل الإدخال عن الاستعلام، مما يمنع أي تنفيذ غير مقصود لأكواد SQL.

✔️ فلترة المدخلات والتأكد من صحة البيانات:

php

$username = filter_var($_POST['username'], FILTER_SANITIZE_STRING);

✅ هذا يمنع المستخدم من إدخال أي رموز غير متوقعة تؤدي إلى تعديل قاعدة البيانات.

✔️ تحديد صلاحيات قاعدة البيانات بحيث لا يسمح للمستخدم العادي بتنفيذ عمليات حساسة**:

sql

GRANT SELECT, INSERT ON users TO 'web_user'@'localhost';

✅ يحد من قدرة الحساب المستخدم للاتصال بقاعدة البيانات حتى لا يتمكن من تنفيذ أوامر ضارة.

🌍 2. الحماية ضد XSS (Cross-Site Scripting)

🔹 XSS يحدث عندما يتمكن المهاجم من إدخال أكواد JavaScript ضارة في صفحات الويب، مما يسمح له بسرقة معلومات الجلسات أو تنفيذ عمليات نيابة عن المستخدمين الآخرين.

✔️ تنظيف المدخلات لمنع تنفيذ الأكواد الضارة:

php

function sanitize_output($data) {
    return htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
}
echo sanitize_output($_GET['input']);

✅ يمنع إدخال أكواد JavaScript غير مرغوب بها في الموقع.

✔️ استخدام الـ Content Security Policy (CSP) لمنع تشغيل الأكواد الخارجية:

html

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self';">

✅ يقيد تشغيل الأكواد فقط من مصادر موثوقة.

✔️ تفعيل تصفية المدخلات في قواعد البيانات:

sql

CREATE TABLE secure_table (
  id INT AUTO_INCREMENT PRIMARY KEY,
  content TEXT NOT NULL,
  sanitized_content TEXT GENERATED ALWAYS AS (html_escape(content))
);

✅ يضمن أن أي إدخال يتم تحويله إلى نص آمن لا يمكن استغلاله لتنفيذ أكواد غير مرغوب بها.

🛡️ 3. أدوات وتقنيات إضافية لتعزيز الأمان

✔️ استخدام WAF (Web Application Firewall) مثل ModSecurity لرصد ومنع الهجمات.

✔️ الحد من الأخطاء المكشوفة عبر تعطيل عرض رسائل الخطأ التفصيلية للمستخدمين العاديين.

✔️ ضبط صلاحيات المستخدمين في قاعدة البيانات والموقع بحيث لا يتمكن أي شخص من تنفيذ عمليات إدارية غير مصرّح بها.

💡 هذه التقنيات تمنحك حماية قوية ضد SQL Injection و XSS،