لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
لماذا لا تعمل معى الداله 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>
"      ;


?>
تاريخ البداية: 4 / ديسمبر / 2011 الساعة 3:4 اخر نشاط: 4 / ديسمبر / 2011 الساعة 21:48 stripslashes

حاول ترى ما هى قيمة 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

2 إجابات
ثانيا الذى أعرفه أن خاصية الماجيك كوتس مهمه لإضافة السلاشات قبل علامات التنصيص المنفرده والمزدوجه عند إدخال البيانات لجداول القواعد المستخدمه
هل هذا خطأ وضح لى كيف أنها لا تفيد وما الذى يحل محلها؟

بواسطة: mos3b
منذ: 4 / ديسمبر / 2011 الساعة 20:5

عند استخدام الـMysql يمكنك فى حالة اغلاق الماجيك كوتس تمرير المتغير على دالة mysql_real_escape_string اولا لكى يأمنه .. ولكن لن يأمنه بشكل كافى .. لذلك اخترعو نظام الـMysql و الـPDO ويقولو من المستحيل ان تتم عمليات خقن لقواعد البيانات وانت تستعملهما .. ودون الحاجة الى اى دول حماية
4 / ديسمبر / 2011 الساعة 20:47

خاصية الماجيك كوتس .. خاصية خطيرة وليس لها اى فائدة بالمرة .. بالنسبة لاصدارات البى اتش بى الجديدة
لالغاء الخاصية استعمل هذه الدالة
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')";

بواسطة: علاء
منذ: 4 / ديسمبر / 2011 الساعة 9:15

ماذا سيفعل كود التمرير لقاعدة البيانات بالضبط أقصد الخطوات أو العمليات التى سيؤديها؟
4 / ديسمبر / 2011 الساعة 20:2

ثانيا الذى سمعته فى دروس أن هذه الخاصيه مهمه ووظيفتها إضافة السلاشات قبل علامات التنصيص المزدوجه والفرديه عند إدخال البيانات للقاعده لذلك فهى تحمى من إستغلال بعض الثغرات هذا هو ما سمعته فى الدروس
هل هذا الكلام خطأ وإن كان كذلك فما الذى يقوم بعملها(إضافة السلاشات)؟
4 / ديسمبر / 2011 الساعة 20:10

mysql_real_escape_string تضيف السلاشات .. ولا تستعملها الا فى حالة اغلاق الماجيك كوتس
4 / ديسمبر / 2011 الساعة 20:48

شكراً لك ماكوس جزاك الله خيرا لا أعرف كيف أشكر لك جزاك الله خيرا أنت وأ/علاء
4 / ديسمبر / 2011 الساعة 21:48

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة