Avatar ·

كيفية تنظيف إدخال المستخدم بشكل صحيح في PHP: الحماية من XSS وحقن SQL

مرحباً بالجميع! أنا مطور PHP مبتدئ وواجهت مشكلة أمان. يوجد في موقعي نموذج تسجيل وتعليقات. أستقبل البيانات من المستخدمين وأقوم بإدراجها مباشرة في قاعدة البيانات وعرضها على الصفحة. مؤخراً لاحظت أن شخصاً ما أدخل في حقل الاسم الكود التالي: ``، وعند عرضه على الصفحة تم تنفيذ هذا السكريبت. كما سمعت عن حقن SQL، لكنني لا أفهم تماماً كيفية الحماية منه. إليك مثال على الكود الخاص بي: ```php // الحصول على البيانات من النموذج $name = $_POST['name']; $email = $_POST['email']; // الحفظ في قاعدة البيانات (MySQL) $query = "INSERT INTO users (name, email) VALUES ('$name', '$email')"; mysqli_query($connection, $query); // العرض على الصفحة echo "مرحباً، $name!"; ``` كيف يمكن تنظيف البيانات بشكل صحيح؟ هل يجب استخدام `htmlspecialchars()` أم `strip_tags()`؟ وبالنسبة لقاعدة البيانات، هل يجب استخدام `mysqli_real_escape_string()`؟ أم هناك طرق أكثر حداثة؟ أرجو إرشادي إلى أفضل الممارسات لـ PHP 8+. الوسوم: php