Каковы общие рекомендации по проверке входных данных? - PullRequest
4 голосов
/ 27 февраля 2010

Каковы некоторые лучшие практики, связанные с использованием IRI для предотвращения искажения символов, подмены или введения символов?

1 Ответ

1 голос
/ 27 февраля 2010

Не существует единой серебряной пули для предотвращения всех атак, связанных с введением контрольных персонажей. Уязвимости в значительной степени зависят от того, как используются данные. Например, xss использует управляющие символы <>, где в SQL-инъекции используются управляющие символы '"\, поэтому смешивать оба этих фильтра не имеет смысла.

Можно использовать коллекцию регулярных выражений, чтобы убедиться, что данные действительны до их использования. Определенное регулярное выражение может быть использовано для предотвращения конкретной уязвимости в зависимости от функции. Проверка входных данных выходит за рамки безопасности и часто требуется для правильной работы программы.

Регулярные выражения не всегда лучший способ выполнить работу. Например, если вы используете библиотеку mysql, должен быть вызов функции mysql_real_escape_string (), который гарантирует, что все управляющие символы, которые распознает mysql, должным образом экранированы. В ваших же интересах использовать эту функцию вместо того, чтобы пытаться написать собственную систему безопасности, переизобретая колесо - это плохая разработка и может иметь катастрофические последствия, когда речь идет о системах безопасности.

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