mysql_real_escape_string () لمتغيرات $ _Session ضرورية؟
-
22-09-2019 - |
سؤال
هل يجب أن أستخدم mysql_real_escape_string()
وظيفة في استفسارات MySQL الخاصة بي $_SESSION
المتغيرات؟ نظريا ، و $_SESSION
لا يمكن تعديل المتغيرات بواسطة المستخدم النهائي على عكس $_GET
أو $_POST
المتغيرات أليس كذلك؟
شكرًا :)
المحلول
بغض النظر عما إذا كان بإمكان المستخدم تعديل البيانات ، فربما تريد الهروب منها على أي حال في حال احتجت إلى البيانات لاحتواء الأحرف التي من شأنها كسر SQL (عروض الأسعار ، إلخ).
والأفضل من ذلك ، استخدام المعلمات المربوطة ولن تضطر إلى القلق بشأن ذلك.
نصائح أخرى
لا تهرب/اقتبس/تشفير النص حتى تكون في النقطة التي تحتاج إليها. يجب أن تكون التمثيلات الداخلية "الخام" قدر الإمكان.
يمكنك الإجابة على السؤال بنفسك باتباع خط التفكير هذا:
هل نشأت القيمة في $ _session من مدخلات المستخدم؟
إذا كان الأمر كذلك ، هل تم تطهيره بالفعل؟
من الناحية النظرية ، لا يمكن تعديل متغيرات $ _session بواسطة المستخدم النهائي
لا ، ولكن يجب أن تكون البيانات تأتي من مكان ما.
يجب عليك الهروب من أي إخراج من PHP ، باستخدام الطريقة المفيدة للوجهة عند النقطة التي يغادر فيها PHP.
جيم