Какие символы убрать из сообщений? - PullRequest
0 голосов
/ 03 марта 2010

Я очень удивлен, что не смог выяснить, какие символы мне нужно убрать из сообщения, чтобы обеспечить безопасность моего приложения.

У меня есть приложение php, и большинство входных данных являются числовыми, но я добавляю пользователям возможность прикреплять сообщения, поэтому мне нужно очистить сообщение и удалить любые символы, которые могут представлять угрозу.

Моя первоначальная реакция была, если я сделал

$message=addslashes(preg_replace('/[^a-zA-Z0-9\-,& $%\(\)#@!\'\"?.]/','',$_POST['message']));

Я был бы в безопасности, но я не смог найти ничего, что бы указывало, какие персонажи могут наносить урон и какие персонажи были бы в безопасности.

Ответы [ 3 ]

1 голос
/ 03 марта 2010

Я бы сказал, что вам не нужно удалять какие-либо символы из вашего ввода, по крайней мере, вообще говоря.

Вместо вы должны экранировать ваши данные:


Тем не менее, если вы разрешаете пользователям вводить HTML, вы должны взглянуть на HTMLPurifier , чтобы убедиться, что они не могут внедрить какой-либо вредоносный HTML-код в ваши веб-страницы:

HTML Purifier соответствует стандартам Библиотека HTML-фильтров написана на PHP. HTML Purifier не только удалит все вредоносный код (более известный как XSS) с тщательно проверенным, безопасным, но разрешающим белым списком, он также убедитесь, что ваши документы соответствует стандартам

1 голос
/ 03 марта 2010
0 голосов
/ 03 марта 2010

Вместо того, чтобы дезинфицировать ваши данные, просто используйте подготовленные отчеты для взаимодействия с базой данных. PDO исключают необходимость ручной очистки всех ваших данных.

Руководство по PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...