Как удалить обратную черту с ввода пользователей

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