Когда лучше всего дезинфицировать пользовательский ввод?

Я очищаю свои пользовательские user-input данные так же, как Раду ...

  1. Первая xss на стороне клиента, использующая xss как регулярные выражения, так user-input и контроль над допустимыми xss символами ввод в заданные sql-injection поля формы с использованием xss javascript или jQuery, привязанных xss-prevention к событиям, например onChange xss-prevention или OnBlur, который удаляет sql-injection любой запрещенный ввод еще xss-prevention до того, как он может быть Отправлено. Однако sanitization поймите, что на самом деле xss это только позволяет тем пользователи input-sanitization знают, что данные будут проверяться xss-prevention и на стороне сервера. Это больше sanitization предупреждение, чем любая xss реальная защита.

  2. Во-вторых, а xss в наши дни я редко вижу, чтобы xss-prevention это делалось, первая проверка sql-injection была done на стороне сервера xss-prevention - это проверить место, откуда sql-injection отправляется форма. Разрешив xss-prevention отправку формы только со cross-site-scripting страницы, которую вы определили sanitization как действительную location, вы sanitization можете убить скрипт ДО того, как cross-site-scripting прочтете какие-либо данные. Предоставляется, этого xss-prevention само по себе недостаточно, так xss как хороший хакер со своим user-input собственным сервером может sanitization "подделать" и домен, и IP-адрес, чтобы sanitization вашему скрипту показалось, что input-sanitization он идет из допустимого местоположения user-input формы.

  3. Далее, и мне даже не sql-injection нужно это говорить, но всегда, я xss имею в виду ВСЕГДА, запускайте ваши xss-prevention скрипты в режиме заражения. Это xss-prevention заставляет не лениться, а user-input прилежно относиться к шаг xss-prevention №4.

  4. Как можно скорее очистите sanitization данные пользователя, используя input-sanitization правильные регулярные выражения, соответствующие данные, которые sanitization ожидаются от любого заданного input-sanitization поля формы. Не используйте input-sanitization ярлыки вроде печально известный input-sanitization «волшебный рог единорога», который пробьет ваши xss проверки на заражение ... или xss-prevention вы можете просто отключить xss проверку на заражение на xss все благо это будет делать input-sanitization для вашей безопасности. Это xss-prevention все равно, что дать психопату user-input острый нож, несущий ваше sanitization горло и говорит: "Ты действительно xss не причинишь мне вреда, если xss хочешь".

    На этом четвертом sanitization шаге я отличаюсь от большинства sql-injection других, так как только дезинфицирую данные user-input пользователя, которые я собираюсь sanitization ИСПОЛЬЗОВАТЬ таким образом, который xss-prevention может представлять безопасность риск, такой xss-prevention как любые системные вызовы, присвоения cross-site-scripting другим переменным или любая input-sanitization запись в хранить данные. Если sql-injection я использую данные, введенные sql-injection пользователем, только для cross-site-scripting сравнения с данными Я сам input-sanitization сохранил в системе (поэтому cross-site-scripting знаю, что мои данные в безопасности), то cross-site-scripting я не утруждаю себя дезинфекцией user-input пользовательских данных, так sanitization как я никогда не собираюсь это sql-injection представляет собой проблему xss безопасности. Например, введите sanitization имя пользователя как пример. Я xss использую имя пользователя, введенное input-sanitization пользователем, только для xss того, чтобы сравнить его xss-prevention с совпадением в моя база sanitization данных, и если это правда, после cross-site-scripting этого я использую данные sql-injection из базы данных для выполнения все user-input другие функции, которые я xss-prevention мог бы вызвать в сценарии, зная, что cross-site-scripting это безопасно, и никогда после xss этого снова используйте данные xss-prevention пользователей.

  5. И последнее: отфильтровать sanitization все попытки автоматической xss отправки роботами в наши xss дни с помощью система «аутентификации cross-site-scripting человека», такая как Captcha. Это user-input достаточно важно в наши дни что xss-prevention я нашел время, чтобы написать user-input свою собственную схему аутентификации xss человека, которая использует cross-site-scripting фотографии и ввод для «человека», чтобы xss ввести то, что он видит на sql-injection картинке. Я сделал это потому user-input что Я обнаружил, что системы sql-injection типа Captcha действительно sql-injection раздражают пользователей cross-site-scripting (вы можете сказать по их прищурившись user-input от попыток расшифровать искаженные sql-injection буквы ... обычно снова и sanitization снова снова). Это особенно sanitization важно для скриптов, использующих sql-injection SendMail или SMTP. для электронной xss-prevention почты, так как они являются xss фаворитами ваших голодных xss-prevention спам-ботов.

Вкратце, я объясню xss-prevention это, как и своей жене ... ваш user-input сервер похож на популярный sql-injection ночной клуб, и чем больше input-sanitization у вас вышибал, тем меньше sanitization у вас проблем в ночном клубе. У xss меня есть два вышибалы за sql-injection дверью (проверка на стороне xss клиента и аутентификация cross-site-scripting человека), один вышибала xss-prevention прямо за дверью (проверка sanitization правильности места отправки input-sanitization формы ... `` Это действительно xss-prevention вы на этом идентификаторе sql-injection '') и еще несколько вышибал xss в непосредственной близости xss-prevention к двери (запуск режима заражения user-input и использование хороших регулярных xss-prevention выражений для проверки данные input-sanitization пользователя).

Я знаю, что xss-prevention это более старый пост, но input-sanitization я счел его достаточно важным input-sanitization для всех, кто может прочитать sql-injection его после моего визита сюда, чтобы xss-prevention понять, что это не «волшебная пуля», когда xss-prevention речь идет о безопасности, и sanitization все они должны работать вместе xss-prevention друг с другом, чтобы обеспечить sanitization безопасность ваших пользовательских xss-prevention данных. Использование одного input-sanitization или двух из этих методов sanitization в одиночку практически бесполезно, поскольку input-sanitization их сила существует только input-sanitization тогда, когда они все работают sanitization вместе.

Или вкратце, как часто sanitization говорила моя мама ... «Лучше user-input перестраховаться, чем сожалеть».

ОБНОВЛЕНИЕ:

Еще xss одна вещь, которой я сейчас user-input занимаюсь, - это кодирование cross-site-scripting всех моих данных Base64, а cross-site-scripting затем шифрование данных Base64, которые input-sanitization будут находиться в моих базах sql-injection данных SQL. Для такого хранения input-sanitization требуется примерно на треть sql-injection больше байтов, но, на мой cross-site-scripting взгляд, преимущества безопасности cross-site-scripting перевешивают дополнительный sanitization размер данных.

xss

sql-injection

user-input

sanitization

2022-10-31T18:15:09+00:00
Вопросы с похожей тематикой, как у вопроса:

Когда лучше всего дезинфицировать пользовательский ввод?