ال magic quotes

ما هو magic quotes
هي ان يتم اضافة تلقائيا عند كتابة أي شيء " حمله أو رقم " يحتوى علامة الأقتباس ( ' ) .

الوضع الأفتراضي : مفتوح

الوضع الخطر : مغلقة

السبب :
تسبب مشاكل امنيه من ابرزها مشاكل SQL Injection و التي تسمح بإستمرار الاستعلام و استخدام اوامر SQL . و لتفادي هذه المشكله يجب استخدام الداله addslahes لإضافة السلاش .

مثال " منقول "

لنفرض لدينا هذا الاستعلام

Code:

<?
$query = mysql_query('SELECT * FROM table WHERE string=' . $_GET['string'] . '');
?>


و ـmagic quote مغلقه قد تسبب ثغره امنيه , لتفادي مثل هذه المشاكل يجب ان نتحقق اذا كانت ـmagic quote مغلقه نستخدم addslashes و اذا كانت تعمل فنحن في امان , سوف نستخدم الداله get_magic_quotes_gpc حتى نتعرف على حالة الـ magic quote .

Code:
<?php

if (get_magic_quotes_gpc() == 0) {
$_GET['string'] = addslashes($_GET['string']);
}

$query = mysql_query('SELECT * FROM table WHERE string=' . $_GET['string'] . '');

?>



يمكننا استخدام هذه الفكره للمصفوفات $_GET و $_POST و $_COOKIE بشكل عام , حتى نحمي برنامجنا من ـmagic quote في حالة الاغلاق

Code:
<?php

if (get_magic_quotes_gpc() == 0) {
$_GET = array_map('addslashes', $_GET);
$_POST = array_map('addslashes', $_POST);
$_COOKIE = array_map('addslashes', $_COOKIE);
}

?>



بالتوفيق للجميع




    

لا يمكنك اضافة تعليق

يجب عليك تسجيل الدخول لاضافة تعليقك




كلمات مفتاحية : ال magic quotes


أضف الدرس الى موقعك