لماذا لا تعمل معى الداله stripslashes
السلام عليكم ورحمة الله وبركاته
الداله stripslashes لا تعمل معى لا أدرى ما الخطأ عندى هذا هو الكود <?php function adds($var){ if (get_magic_quotes_gpc() == false){ return addslashes($var); }else{ return $var; } } $x= adds($_post['insert']); echo stripslashes($x); echo" <form action='magic_quotes.php' method='post'> <textarea name='insert'></textarea> <br /> <input type='submit' value='add' /> </form> " ; ?>
2 إجابات
ثانيا الذى أعرفه أن خاصية الماجيك كوتس مهمه لإضافة السلاشات قبل علامات التنصيص المنفرده والمزدوجه عند إدخال البيانات لجداول القواعد المستخدمه
هل هذا خطأ وضح لى كيف أنها لا تفيد وما الذى يحل محلها؟ بواسطة: mos3b 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا عند استخدام الـMysql يمكنك فى حالة اغلاق الماجيك كوتس تمرير المتغير على دالة mysql_real_escape_string اولا لكى يأمنه .. ولكن لن يأمنه بشكل كافى .. لذلك اخترعو نظام الـMysql و الـPDO ويقولو من المستحيل ان تتم عمليات خقن لقواعد البيانات وانت تستعملهما .. ودون الحاجة الى اى دول حماية
خاصية الماجيك كوتس .. خاصية خطيرة وليس لها اى فائدة بالمرة .. بالنسبة لاصدارات البى اتش بى الجديدة
لالغاء الخاصية استعمل هذه الدالة if (get_magic_quotes_gpc()) { function strip_array($var) { return is_array($var)? array_map("strip_array", $var):stripslashes($var); } $_POST = strip_array($_POST); $_SESSION = strip_array($_SESSION); $_GET = strip_array($_GET); }وعند التمرير لقاعدة البيانات استعمل $lastname = mysql_real_escape_string($_POST['lastname']); $sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')"; بواسطة: علاء 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا ماذا سيفعل كود التمرير لقاعدة البيانات بالضبط أقصد الخطوات أو العمليات التى سيؤديها؟ ثانيا الذى سمعته فى دروس أن هذه الخاصيه مهمه ووظيفتها إضافة السلاشات قبل علامات التنصيص المزدوجه والفرديه عند إدخال البيانات للقاعده لذلك فهى تحمى من إستغلال بعض الثغرات هذا هو ما سمعته فى الدروس mysql_real_escape_string تضيف السلاشات .. ولا تستعملها الا فى حالة اغلاق الماجيك كوتس شكراً لك ماكوس جزاك الله خيرا لا أعرف كيف أشكر لك جزاك الله خيرا أنت وأ/علاء |
حاول ترى ما هى قيمة var_dump(get_magic_quotes_gpc()); لكى تعرف هى الماجيك كوتس مفعلة ام لا
4 / ديسمبر / 2011 الساعة 9:9
إنها تعمل ولذلك تظهر علامات slash وأنا أريد حذف هذه العلامات عند إعادة عرضها للمستخدم
4 / ديسمبر / 2011 الساعة 20:0
جرب تبديل سطر if (get_magic_quotes_gpc() == false){ ب if (!get_magic_quotes_gpc()) {
4 / ديسمبر / 2011 الساعة 20:55