محمد ياسر
2020-04-15, 03:22 PM
السلام عليكم ورحمة الله وبركاته جميع اعضاء منتدي اكواد
كان في واحد قالي حاجه جميله في الرسائل في اسكربات حازم ازاي احمي موقعي من ثغرة SQL Injection وبتعمل ايه الثغره ده وازاي احمي نفسي منه
اي هي ثغرة SQL Injection
بص ياسيدي الثغره ده بتبا عباره عن مدخلات ياعني ايه مدخلات
مثال
انت لما تيجي تسجل حساب فيس بوك وبتكتب اسمك بعد كده تدوس تسجيل ده اسمه مدخلات بدخل معلومات للقاعده
ازاي بتدخل
طبعا انا مش اقولكم ازاي تعمل حقن للقاعده لان ده ممكن يضر ناس كتير او يجربوها علي مواقع ناس تاني
لكن بالنسبة للمطورين المواقع فده بيكون الطريقه انت لما تسجل
FROM `users` WHERE
`user_email`='{$email}'
ده كود استخراج معلومات عادي select ممكن يدخل حاجه زياده في المدخلات ذي or username = 1 فيروح الموقع مستثني الاسم الي اسمه 1 وهو يدخل بالاكونت واحد
عارف ان الشرح صعب لكن لازم تفكروا ازي الثغره ده خطيره قد ايه وممكن بسببه المخترق يحقن القاعده بتاعتك ويعمل DROP علي الجداول بتاعتك وسلامه ياقاعده كل حاجه تروح
طرق الحمايه من الثغره
بالنسبة لناس الي بتستخدم MYSQL في تكويد موقعه فهي اكتر ناس متضرره من الثغره ده لانه اول اصدار للغه فاحمايته لثغره ده ضعيف للحمايه استخدم الكود ده في المدخلات
mysql_real_escape_string($_POST['email']);
انت اتغير email علي حسب ال post بتاعك
اما للي بستخدم MYSQLI فهي برضوا مش محميه كفايه للثغره ده وممكن تستخدم الداله نفسه للحمايه
mysqli_real_escape_string($conn,$_POST['email']);
اما لمستخدمين ال pdo فهم محمين من الثغره لان الشركه قفلته في اصدار ال pdo
بس علشان تاكد حمايتك للمدخلات وحذف ثغره SQL Injection ذودله الداله ومش اتاخد في ايدك ثواني اهم حاجه تحمي موقعك من حقن القاعده وده اخطر خطر للموقع
كان في واحد قالي حاجه جميله في الرسائل في اسكربات حازم ازاي احمي موقعي من ثغرة SQL Injection وبتعمل ايه الثغره ده وازاي احمي نفسي منه
اي هي ثغرة SQL Injection
بص ياسيدي الثغره ده بتبا عباره عن مدخلات ياعني ايه مدخلات
مثال
انت لما تيجي تسجل حساب فيس بوك وبتكتب اسمك بعد كده تدوس تسجيل ده اسمه مدخلات بدخل معلومات للقاعده
ازاي بتدخل
طبعا انا مش اقولكم ازاي تعمل حقن للقاعده لان ده ممكن يضر ناس كتير او يجربوها علي مواقع ناس تاني
لكن بالنسبة للمطورين المواقع فده بيكون الطريقه انت لما تسجل
FROM `users` WHERE
`user_email`='{$email}'
ده كود استخراج معلومات عادي select ممكن يدخل حاجه زياده في المدخلات ذي or username = 1 فيروح الموقع مستثني الاسم الي اسمه 1 وهو يدخل بالاكونت واحد
عارف ان الشرح صعب لكن لازم تفكروا ازي الثغره ده خطيره قد ايه وممكن بسببه المخترق يحقن القاعده بتاعتك ويعمل DROP علي الجداول بتاعتك وسلامه ياقاعده كل حاجه تروح
طرق الحمايه من الثغره
بالنسبة لناس الي بتستخدم MYSQL في تكويد موقعه فهي اكتر ناس متضرره من الثغره ده لانه اول اصدار للغه فاحمايته لثغره ده ضعيف للحمايه استخدم الكود ده في المدخلات
mysql_real_escape_string($_POST['email']);
انت اتغير email علي حسب ال post بتاعك
اما للي بستخدم MYSQLI فهي برضوا مش محميه كفايه للثغره ده وممكن تستخدم الداله نفسه للحمايه
mysqli_real_escape_string($conn,$_POST['email']);
اما لمستخدمين ال pdo فهم محمين من الثغره لان الشركه قفلته في اصدار ال pdo
بس علشان تاكد حمايتك للمدخلات وحذف ثغره SQL Injection ذودله الداله ومش اتاخد في ايدك ثواني اهم حاجه تحمي موقعك من حقن القاعده وده اخطر خطر للموقع