Как удалить обратную черту с ввода пользователей
Вопрос
Я становился размытым в этом: 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
убегает всех "
а также '
Вот почему вы получаете все эти удары. Если вы удалите черты перед размещением данных в базу данных, которые вы открываете для атак, что очень плохо для безопасности, не так ли?
Не связан с StackOverflow