طلبات : لغة php & mysql : ال magic quotes

ال magic quotes

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

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

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

السبب :
تسبب مشاكل امنيه من ابرزها مشاكل 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

ابوليالي - (الأحد 23/09/2007 05:26:39 صباحاً) - موقعي

اخوي هكرز المنتديات ياليت تذكر الشي اللي مافهمته علشان اقدر افيدك .

الشرح واضح ولا يوجد به شيء مبهم .

ياليت تذكر النقطه اللي صعب فهمك عليها .

وبالتوفيق

هكرز المنتديات - (السبت 22/09/2007 02:51:35 صباحاً) - موقعي

ممكن توضح أكثر عزيزي ... لأني أبحث عن هذا الموضوع لكي أفهمه أكثر وخاصة أنه يهم أمن الموقع والسكربت ..

ممكن أكثر توضيح مافهمت ياغالي

وشكرا لك

الإسم
البريد الإلكتروني
رابط موقعك
كود التأكيد أكتب الكود هنا

خانات لابد من تعبأتها التي بجانبها علامة *



إستضافة وتطوير Tsmimk.com

جميع الحقوق محفوظه لموقع طلبات ويسمح بنقل المواضيع بشرط ذكر المصدر ورابطة