ОБСУЖДЕНИЕ

Безопасность. Ввод/ Вывод.

10 сообщений1 просмотровЗакрыта
#1
Всем привет. У меня есть вопрос на счет безопасности. Я сначала экранирую данные через prepare, execute. А с базы данные вывожу с слабеньким фильтром типа htmlspecialchars и тд. Правильно я делаю?. Так-же, можно ли написать фильтр в котором будет записан список разрешенных знаков, и если при проверке переменной через этот фильтр в ней присутствуют неразрешенные знаки - они вырезаются!?
#2
При записи достаточно фильтра от sql inj, при выводе фильтр от xss. В твоем случае так и есть вроде.

Зачем вырезать символы то?
Почитай про функцию str_replace()
http://php.net/manual/ru/function.str-replace.php
#3
Чтобы наверняка знать что xss не пройдет
#4
amfetaminf, Есть же для этого htmlspecialchars и зачем изобретать велосипед?
#5
Wins, тогда лучше уже htmlentities. Но мне надо чтобы символы только из белого списка были разрешены. Например: [/]?.,-+=! да и вроде все пожалуй. Кроме этих остальные вырезать...
#6
amfetaminf, <?php

$str = 'Hello, World!';
$str = preg_replace('/[^[\/\]?.,\-+=!]/', '', $str);

echo $str;

?>
#7
И что, нормально будет работать? Я просто с регулярками не очень
#8
amfetaminf, Ну проверь. Конечно будет работать.
#9
Wins, Ладно. В общем суть я уловил. Спасибо за помощь.
#10
Тему закрыл amfetaminf!
Причина: #