Moją sugestią jest zbudowanie funkcji do oczyszczania wszystkich danych wejściowych tekstu i funkcji do sprawdzania wszystkich danych wyjściowych pochodzących z bazy danych lub innych źródeł, takich jak:
<?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;
}
w zależności od strategii możesz dodać dodatkowe funkcje do filtra lub niektóre usunąć. Ale to, co masz tutaj do dyspozycji, wystarczy, aby ochronić Cię przed XSS.
EDYTUJ: oprócz powyższej funkcji, ta odpowiedź może mieć również znaczenie w ramach ochrony Twojej witryny.
Odniesienie do różnych metod:
- przycinanie:http://php.net/manual/en/function. trim.php
- stripslashes: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
Dobrym pomysłem jest również zapoznanie się z następującymi linkami:
- Jaka jest najlepsza metoda oczyszczania danych wprowadzanych przez użytkownika za pomocą PHP?
- Najlepsza funkcja czyszczenia/zabezpieczania
Co ważne, dobrze jest być świadomym 10 najważniejszych zagrożeń i dowiedzieć się o nich więcej.