2012-04-12 3 views
0

Я создаю функцию, которая проверяет ввод текста пользователем. Поскольку у меня есть различные варианты использования входного текста, я хотел бы, чтобы функция охватывала как можно больше областей в отношении проблем безопасности, позволяющих вводить текст пользователя на любой части веб-сайта. В настоящее время я использую различные peices кода, которые проверяют различные входы по мере необходимости, и я пытаюсь объединить часть безопасности в одну функцию, а регулярное выражение (электронная почта, tel, проверка пароля) в другое, которое можно использовать на веб-сайте.Проверка правильности ввода PHP - что нужно знать?

У меня есть вопрос, связанный с этим.

Я использую этот бит фильтрации для очистки ввода данных пользователя при проверке ввода против информации в базе данных:

$find = strtoupper($find); 
$find = strip_tags($find); 
$find = trim ($find); 
$_SESSION['find'] = $find; 
$keywords_array = explode(' ', $find); 

Если я использую strip_tags имеет смысл для проверки ввода, как это до проведения фильтрация, применяемая выше:

if (preg_match("#\bscript\b#",$_POST['search'])) 
     { 
      // Get user ip 
      // Log client details to DB 
      $GLOBALS['errorFocus'] = "autofocus class='thisInputIsError'"; 
      $GLOBALS['searchError'] = '<p>Your IP has been logged!</p>'; 
     } 

Если да, то какие еще теги следует отслеживать?

И что еще я должен смотреть в целом в отношении функции, которую я пытаюсь собрать вместе?

Любые ссылки на некоторые хорошие учебники, которые охватывают это было бы здорово тоже :)

Спасибо!

+1

Я думаю, что вы собираетесь иметь некоторые проблемы с поиском всех возможных тегов сценария потому что есть куча методов, чтобы попытаться выполнить js. http://ha.ckers.org/xss.html дает вам несколько хороших примеров того, с чем вы можете попытаться атаковать сайт. – lfxgroove

+1

В общем, я бы не помещал сообщения «ваш IP-журнал» в веб-приложении. Человек, который вставляет тег 'script' в переменные страницы, может быть не хакером (например, они могут следовать злонамеренной ссылке). Записывайте свой IP-адрес всеми способами, но просто бросайте хороший 404 или перенаправляйте на свою домашнюю страницу. – halfer

+0

@ Антон Большое спасибо за ссылку :) –

ответ

3

PHP имеет фильтрацию и проверку встроенной, прочитать http://php.net/manual/en/book.filter.php вы можете также рассмотреть вопрос о HTMLpurifier или аккуратным, если вы хотите на заказ фильтр содержимого HTML

+0

Спасибо, я не знал об этих двух вариантах, я буду смотреть на них. –

Смежные вопросы