Всем привет. У меня есть вопрос на счет безопасности. Я сначала экранирую данные через prepare, execute. А с базы данные вывожу с слабеньким фильтром типа htmlspecialchars и тд. Правильно я делаю?. Так-же, можно ли написать фильтр в котором будет записан список разрешенных знаков, и если при проверке переменной через этот фильтр в ней присутствуют неразрешенные знаки - они вырезаются!?
ОБСУЖДЕНИЕ
Безопасность. Ввод/ Вывод.
При записи достаточно фильтра от sql inj, при выводе фильтр от xss. В твоем случае так и есть вроде.
Зачем вырезать символы то?
Почитай про функцию str_replace()
http://php.net/manual/ru/function.str-replace.php
Зачем вырезать символы то?
Почитай про функцию str_replace()
http://php.net/manual/ru/function.str-replace.php
Чтобы наверняка знать что xss не пройдет
amfetaminf, Есть же для этого htmlspecialchars и зачем изобретать велосипед?
Wins, тогда лучше уже htmlentities. Но мне надо чтобы символы только из белого списка были разрешены. Например: [/]?.,-+=! да и вроде все пожалуй. Кроме этих остальные вырезать...
amfetaminf, <?php
$str = 'Hello, World!';
$str = preg_replace('/[^[\/\]?.,\-+=!]/', '', $str);
echo $str;
?>
$str = 'Hello, World!';
$str = preg_replace('/[^[\/\]?.,\-+=!]/', '', $str);
echo $str;
?>
И что, нормально будет работать? Я просто с регулярками не очень
amfetaminf, Ну проверь. Конечно будет работать.
Wins, Ладно. В общем суть я уловил. Спасибо за помощь.
Тему закрыл amfetaminf!
Причина: #
Причина: #