لا يمكن الثقة بزوار مواقعك البعض لديهم هواية اكتشاف ثغرات المواقع و البعض يهوى تخريب أي موقع بغض النظر عن محتواه لإظهار سأحاول في هذا الموضوع القصير أن أشير إلى بعض الاحتياطات الواجب اتخاذها لأمن المواقع بما يندرج تحت اسم input validation.
باختصار شديد للفكرة كلها ، يجب عليك أن تراقب أي شيء يرسله زائر سواء عبر post أو get أو cookie أو ...
مشكلة تفعيل الـ register_globals
في بعض نسخ PHP ستجد أن register_globals=on و هذا يعني أن أي بارامتر مرسل يمكن الوصول إليه كمتحول في الصفحة بنفس الاسم، مثلا في المثال السابق سيمكنك أن تصل لقيمة pid بكتابة $pid ، ما المشكلة هنا ؟ المشكلة أن $pid تشير إلى القيمة المسندة لـpid مرسل بواسطة get أو post أو cookie أو غير ذلك. طيب ، وما المشكلة أيضا أكرر التساؤل ؟! لنأخذا المثال التالي فهو يوضح الفكرة
if (isAdmin()){
$viewOpts = true;
}
على فرض أن التابع isAdmin يختبر كون الزائر الحالي هو مدير اعتادا على قراءة ملف cookie و لنفرض أنه أعاد قيمة false ماذا سيحدث ؟ حاليا لا شيء فقد اختبر كون المتصفح الحالي مدير و فشل ، لكن ماذا يحدث لو مررنا القيمة viewOpts=true عبر الـURL ( كأسلوب GET ) - أفترض هنا أن register_globals=on افترض أنك فهمت ما أرمي إليه.$viewOpts = true;
}
لحل هذه النقطة و باختصار، استخدم $_POST و $_GET و $_COOKIE و $_ENV و $_SERVER للوصول إلى متحولات كل منهم.
أكمل الموضوع بموضوع لاحق حول اختبار كل نوع و حلول مقترحة
.









![salamm[at]live.com salamm[at]live.com](images/live.gif)








التعليقات لا تنشر مباشرة ، أقوم بقراءتها قبل نشرها.