Regnery.net Internet

HTML CSS PHP MYSQL JQuery SEO – internetoplossingen

PHP veilige code

Als je aan de slag gaat met PHP en dynamische sites, moet je de veiligheid van je site goed bewaken. Onveilige code zet de deur open voor niet uitgenodigde gasten. SQL injection is al aan de orde gekomen. Nu ga ik verder in op het veilig schrijven van PHP code.

XSS

XSS is de mogelijkheid om via data van bezoekers of data via de site een script te activeren van buiten je site.

<?php 
if (isset($_GET["data"])) { 
echo "the value you entered : " . $_GET["data"] ; } 
?> <br /> 
<a href="?value=<script src=http://test.nl/xss.js></script>">
Click here to test for XSS on your browser</a>

Bovenstaande code geeft een voorbeeld van wat mogelijk is om je site te misbruiken als hacker. Door de data via via $_GET wijze te manipuleren activeert een hacker een script op jouw site.

Tip: vertrouw dus nooit informatie, ook niet via je eigen site. Iedere afhandeling van data moet je schoonmaken van vervuilde tags. Dit moet je doen via server side scripting zoals via PHP. Javascript is clientside scripting en is dus niet betrouwbaar!!!

[ad]

PHP functies schoonmaken data

Via PHP kun je data schoonmaken van ongewenste tags. In principe heb je de keuze uit twee functies, htmlspecialchars(); en htmlentities(); als schoonmakers. Beide functies zetten < en > om naar html code (&lt; en &gt;).

De htmlspecialchars() functie zet een beperkt aantal tekens om naar html code. De htmlentities() functie zet ook symbolen en andere speciale tekens om naar html code. Ga je voor absolute veiligheid, dan is de laatstgenoemde functie het beste.