ما هو magic quotes
هي ان يتم اضافة تلقائيا عند كتابة أي شيء " حمله أو رقم " يحتوى علامة الأقتباس ( ' ) .
الوضع الأفتراضي : مفتوح
الوضع الخطر : مغلقة
السبب :
تسبب مشاكل امنيه من ابرزها مشاكل SQL Injection و التي تسمح بإستمرار الاستعلام و استخدام اوامر SQL . و لتفادي هذه المشكله يجب استخدام الداله addslahes لإضافة السلاش .
مثال " منقول "
لنفرض لدينا هذا الاستعلام
و ـmagic quote مغلقه قد تسبب ثغره امنيه , لتفادي مثل هذه المشاكل يجب ان نتحقق اذا كانت ـmagic quote مغلقه نستخدم addslashes و اذا كانت تعمل فنحن في امان , سوف نستخدم الداله get_magic_quotes_gpc حتى نتعرف على حالة الـ magic quote .
يمكننا استخدام هذه الفكره للمصفوفات $_GET و $_POST و $_COOKIE بشكل عام , حتى نحمي برنامجنا من ـmagic quote في حالة الاغلاق
بالتوفيق للجميع
الكاتب : php-Tiger
هي ان يتم اضافة تلقائيا عند كتابة أي شيء " حمله أو رقم " يحتوى علامة الأقتباس ( ' ) .
الوضع الأفتراضي : مفتوح
الوضع الخطر : مغلقة
السبب :
تسبب مشاكل امنيه من ابرزها مشاكل SQL Injection و التي تسمح بإستمرار الاستعلام و استخدام اوامر SQL . و لتفادي هذه المشكله يجب استخدام الداله addslahes لإضافة السلاش .
مثال " منقول "
لنفرض لدينا هذا الاستعلام
$query = mysql_query('SELECT * FROM table WHERE string=' . $_GET['string'] . '');و ـmagic quote مغلقه قد تسبب ثغره امنيه , لتفادي مثل هذه المشاكل يجب ان نتحقق اذا كانت ـmagic quote مغلقه نستخدم addslashes و اذا كانت تعمل فنحن في امان , سوف نستخدم الداله get_magic_quotes_gpc حتى نتعرف على حالة الـ magic quote .
<?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 في حالة الاغلاق
<?php
if (get_magic_quotes_gpc() == 0) {
$_GET = array_map('addslashes', $_GET);
$_POST = array_map('addslashes', $_POST);
$_COOKIE = array_map('addslashes', $_COOKIE);
}
?>بالتوفيق للجميع
الكاتب : php-Tiger


