Avatar ·

كيفية منع حقن SQL في PHP؟ العمل الآمن مع MySQL

الأساسية problem

مرحبًا بالجميع. أنا مطور PHP مبتدئ، وأواجه مشكلة خطيرة في الأمان. أكتب موقعًا بسيطًا لتسجيل المستخدمين، لكنني لست متأكدًا من أن الكود الخاص بي محمي من الاختراق.

إليك مثال على الكود الخاص بي لتسجيل الدخول:

php
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($connection, $query);
if (mysqli_num_rows($result) > 0) {
    echo "مرحبًا، $username!";
} else {
    echo "اسم المستخدم أو كلمة المرور غير صحيحة";
}

لقد سمعت أن هذا الكود عرضة لـ SQL-инъекций. على سبيل المثال، إذا قمت بإدخال ' OR '1'='1 في حقل username، يمكن تجاوز التحقق من كلمة المرور. كيف يمكنني حماية تطبيقي بشكل صحيح؟ هل أحتاج إلى تخطي الاقتباسات باستخدام mysqli_real_escape_string؟ أم هناك طرق أكثر حداثة؟ يُفضل مع أمثلة كود حتى أتمكن من تطبيقها فورًا عمليًا.

شكرًا مقدمًا على المساعدة!