Как на php-сервере проверить данные?

клиент отдает на сервер строку - в ней тело innerHTML-документа
далее при запросе документа на сервере в шаблон документа вставляется этот innerHTML

надо на сервере при приеме этой строки проверить чтобы в ней не было скриптов
и если есть нарушения то сообщать клиенту об ошибке
то есть надо сделать простейшую защиту от хакеров

вариант такой: проверять есть ли в строке строки:
$x = 'строка';
if( stripos($x, 'script') 
|| stripos($x, 'onclick')
|| stripos($x, 'oncontextmenu')
|| stripos($x, 'onmouseover')
|| stripos($x, 'onmousedown')
|| stripos($x, 'onmouseup')
|| stripos($x, 'onmousemove')
|| stripos($x, 'script' ) )
{
	print json_encode("ошибка");
}
  • Вопрос задан
  • 346 просмотров
Пригласить эксперта
Ответы на вопрос 2
irishmann
@irishmann
Научись пользоваться дебаггером
Использовать подготовленные запросы и не париться, если Вас беспокоит безопасность БД.
Проверяйте регулярными выражениями, вырезайте JS-скрипты.

UPD.: А вообще, по-хорошему, стоит пересмотреть концепцию. Зачем хранить HTML, не проще его генерировать на основе каких-то минимальных данных?
Ответ написан
@noeer
https://www.php.net/manual/ru/function.strip-tags.php
Вторым параметром передаете строку с тегами, которые не хотите вырезать.
Но обычно такие манипуляции производят перед выводом, а не перед записью.

Для защиты от SQL инъекций нужно параметризировать запросы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
30 мая 2020, в 12:29
10000 руб./за проект
30 мая 2020, в 11:43
1000 руб./за проект