PHP: SQL Auto Escape

02/01/2013 13:14 Synatex#1
Hi Leute,

paar mal wurde ich nun schon gefragt.. Escaped die MySQLi oder die PDO Funktion denn jetzt wirklich die Werte? Und erst Recht die Leute die noch die älteren Versionen nutzen haben öfter probleme mit SQLi und es ist nervig die ganzen Werte immer zu escapen.. Deshalb hab ich ein Script geschrieben, was Abhilfe schafft. Es zieht sich alle Parameter aus den Queries und checkt diese, unabhängig von dem SQL Server auf dem die laufen, durch.

Mit allen Standard-Queries getestet. Wie es mit größeren umfangreichen aussieht, weiß ich leider noch nicht.

Das Skript:

Benutzung:
PHP Code:
<?php

 
include 'query.secure.class.php';
 
 
$query "SELECT * FROM test WHERE id=$id AND name = $name";

 
$query Query::Secure($query);
 
 
// Weiterverarbeitung

?>
Optional kann man als zweiten Parameter auch noch TRUE übergeben. Damit werden dann alle Zeichen auch noch auf HTML Tags geprüft und diese ebenfalls raus genommen.

Bugs, Verbesserungsvorschläge oder Feedback sind gerne gesehen! ;)