Моето предложение е да изградите функция, която да дезинфекцира всички ваши текстови входове и функция, която да проверява всички ваши изходи, които идват от базата данни или други източници, като следното:
<?php
// filter for user input
function filterInput($content)
{
$content = trim($content);
$content = stripslashes($content);
return $content;
}
//filter for viewing data
function filterOutput($content)
{
$content = htmlentities($content, ENT_NOQUOTES);
$content = nl2br($content, false);
return $content;
}
в зависимост от вашата стратегия може да добавите допълнителни функции към филтъра или да премахнете някои. Но функцията, която имате тук, е достатъчна, за да ви защити от XSS.
РЕДАКТИРАНЕ: в допълнение към горната функция, този отговор може също да е подходящо като част от защитата на вашия уебсайт.
Препратка към различните методи:
- изрязване:http://php.net/manual/en/function. trim.php
- стрипслаши:http://php.net/manual/en/function. stripslashes.php
- htmlentities:http://php.net/manual/en/function. htmlentities.php
- nl2br:http://php.net/manual/en/function. nl2br.php
Също така е добра идея да разгледате следните връзки:
- Какво е най-добрият метод за дезинфекция на потребителското въвеждане с PHP?
- Най-добрата чиста/сигурна функция
И което е важно, добре е да сте наясно с Топ 10 на риска и да научите повече за него.