Защитить HTML-форму от Javascript / Атаки - PullRequest
0 голосов
/ 17 ноября 2010

У меня есть форма, и на данный момент вы можете вводить любой javascript и т. Д., Какой хотите. Любой XSS и т. Д.

Как мне создать белый список, чтобы вы могли публиковать только символы.

В какой-то момент я хотел бы, чтобы все, что начинается с http://, было преобразовано в

<a href="http://..."></a>

Спасибо

Это эффективно? http://htmlpurifier.org/

Ответы [ 2 ]

7 голосов
/ 17 ноября 2010

JQuery или Javascript является предпочтительным

Ну, нет, ты не можешь этого сделать, понимаешь? Потому что даже если вы «очистите» свои данные с помощью JavaScript, никто не остановит никого из

  • отключение JavaScript
  • используя консоль разработчика браузера, чтобы связываться с данными
  • делает POST напрямую, без браузера

Другими словами, вы должны выполнить проверку / очистку на стороне сервера. Проверка Javascript предназначена для повышения удобства работы ваших пользователей (например, путем предоставления мгновенного отзыва о неверном вводе).

1 голос
/ 17 ноября 2010

Но, тем не менее, во многих приложениях с высокой нагрузкой разработчики используют частично проверки на стороне клиента (но все входные данные должны быть подготовлены для записи в БД).

Как вы будете использоватьPHP, я предлагаю вам проанализировать ваши значения $ _POST с помощью htmlspecialchars (), mysql_real_escape_string () и т. Д.

Вам придется использовать регулярное выражение для преобразования всего, что начинается с "http://", в ссылки (хорошо, вы также можете использовать explode ('.', $ _POST ['yourInput']), что может быть проще для вас).

...