13

php : حماية جميع المدخلات post و get من الحقن دفعة واحدة

السلام عليكم

ساشرح اليوم حماية post و get من الحقن بدون الكتابة في كل مرة real_escape_string

الكود

$con = mysqli_connect("localhost","root","01146506630","try"); // الاتصال بالقاعدة

            // تنظيف get
            $GET_KEYS = array_keys($_GET); // مدخلات المصفوفة
            for($i = 0;$i <= sizeof($GET_KEYS) ;$i++){ // التكرار
                $_GET[$GET_KEYS[$i]] = mysqli_real_escape_string($con,$_GET[$GET_KEYS[$i]]);
            }

            // تنظيف post
        $POST_KEYS = array_keys($_POST); // مدخلات المصفوفة
        for($i = 0;$i <= sizeof($POST_KEYS) ;$i++){ // التكرار
                $_POST[$POST_KEYS[$i]] = mysqli_real_escape_string($con,$_POST[$POST_KEYS[$i]]);
            }

الي القاء في درس قادم

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

بارك الله فيك يا غالي على الشرح الرائع ..

اضافة مميزة اخي الكريم الى رصيد المبرمج العربي

الطريقة جميلة كنت استخدم طريقة مشابهه فى البداية لكن مع الوقت تخليت عنها لسببين

  • يوجد مدخلات لن تتعامل معها كمدخلات لقاعدة البيانات او تعرض للمستخدم فحتي وان كان بها كود اختراق فلا خطر منه

  • في بعض الحالات قد تحتاج للبيانات المدخلة كما هي بدون تمريرها على دوال الحماية

يمكن فقط استخدامها في صفحة تسجيل الدخول ومستخدم جديد

ماذا يعني الحقن ؟

مثال : اذا كان لديك حقل نصي لاضافة تعليق اذا كان المدخل يتم اضافة فى قاعدة البيانات بدون حماية يمكن للمخترق اضافة كود تعديل او حذف داخل الحقل وسيتم تنفيذه

هل يكون الحقن من نفس اللغة بمعنى مثلاً اذا كان الموقع يستخدم php فهل يستطيع المخترق مثلاً اضافة كود لغة اخرى ؟

يستخدم أوامر التحكم فى قاعدة البيانات SQL

كيف طريقة الاستخدام للمبتدأين ، هل أضع الكود في ملف الكونفيج فقط وهو سيقوم بعمله داخل جميع الملفات التي قمت باستدعاء الكونفيج عليها ؟

يجب التوضيح