Mijn suggestie is om een functie te bouwen om al je tekstinvoer te zuiveren en een functie om al je uitvoer te controleren die uit de database of andere bronnen komt, zoals het volgende:
<?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;
}
afhankelijk van uw strategie kunt u extra functies aan het filter toevoegen of enkele verwijderen. Maar wat je hier een functie hebt, is voldoende om je te beschermen tegen XSS.
BEWERKEN: naast bovenstaande functie, dit antwoord kan ook relevant zijn voor een deel van uw websitebeveiliging.
Verwijzing naar de verschillende methoden:
- trim: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
Het is ook een goed idee om de volgende links te bekijken:
- Wat is de beste methode voor het opschonen van gebruikersinvoer met PHP?
- De ultieme schone/veilige functie
En belangrijker nog, het is goed om je bewust te zijn van de Top 10 risico's en er meer over te weten te komen.