كيف يمكنني إزالة الانزلاق الخلفي من إدخال المستخدمين

StackOverflow https://stackoverflow.com/questions/4307293

  •  29-09-2019
  •  | 
  •  

سؤال

أنا أتعامل مع هذا: P

function escape($string)
{
    $string = stripslashes($string);

    if (function_exists('mysql_real_escape_string')) {
       return mysql_real_escape_string($string, $this->connection);
    } else {
        return mysql_escape_string($string);
    }
}

$content = '""""""test\'te%%%%st`test_huhu\'_';

echo '<br>output 1 = '.stripslashes($content);
echo '<br>output 2 = '.$db->escape($content);

الإخراج

output 1 =  """"""test'te%%%%st`test_huhu'_
output 2 =  \"\"\"\"\"\"test\'te%%%%st`test_huhu\'_ 

كيف تصنع output 2 سيكون نفس الشيء output 1 ولماذا output 2 أن تكون هكذا؟

هل كانت مفيدة؟

المحلول

mysql_real_escape_string يهرب كل شيء " و ' لهذا السبب تحصل على كل تلك المائلة. إذا قمت بإزالة القطع المائلة قبل وضع البيانات في قاعدة بيانات ، فأنت مفتوح للهجمات التي تعتبر سيئة للغاية للأمان ، ألا تعتقد ذلك؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top