Hallo mensen,
Ik vraag me al een tijd af of ik wel alles goed beveiligd heb.
Ik gebruik PDO misschien wel op de verkeerde manier.
Hoe doe je zorgen dat er altijd wordt voorkomen dat er SQL injections mogelijk zijn?
Dus dit doe ik:

$pdo // Pdo object
$sql = "UPDATE news SET title = '".$_POST['title']."' WHERE id = '1'";
$pdo->exec($sql);


Vroeger toen de mysql_ functies nog werden gebruikt, wist je eigenlijk precies wanneer je de data escaped/veilig maakt. Je ziet het dan ook meteen in de code (mysql_real_escape_string())
Maar nu met PDO zijn er zoveel manieren om 1 simpele query te doen, dat alles ingewikkelder is geworden vind ik.
Ik heb mijn "huiswerk" gedaan op google, maar kon alleen maar vage dingen vinden als:
Use the quote function of PDO to make data safe, but this is not sufficient to prevent SQL injections.
Of:
Use prepared statements, but escape the data for extra safety

Wat is nu de juiste manier? Moet ik gewoon altijd prepared statements gebruiken? Ik twijfel over prepared statements, omdat je dan nergens zelf een functie kunt zetten om de input veilig te maken. En ik weet niet wat PDO met de input doet, dit zou ik graag willen weten.
Dus hoe kan ik bovenstaand stukje code het aller veiligst maken?
[google]php pdo prepared statements[/google]
Ja bedankt voor de link,
Maar ik neem dus aan dat als je een prepared statement gebruikt, dat het dan helemaal veilig is, en dat ik me geen zorgen hoef te maken?
Dat klopt (voor zover ik weet)

Reageren