2011-01-02 3 views
1

Ich begann mit ADODB für PHP5, wie ich Upgrade meine Werkzeuge von den regulären MySQL-Funktionen wollte, aber ich bin überrascht, dass es nicht auf Anfragen von SQL-Injektionen überhaupt aufräumt, wird dies tatsächlich unterstützt und wie es zu aktivieren?Adodb unterstützt keine Sicherheitsverfahren?

Schätzen Sie jede Hilfe.

+0

ADODB wird Ihre Arbeit nicht für Sie erledigen. Es kann es erleichtern, aber es ist kein Zauberstab, der ohne Verständnis verwendet werden kann. –

+0

@Col. Shraphel Ich empfehle dir, an deiner Melodie zu arbeiten. Ich weiß, dass die meisten Programmierer so sind, aber es wird nicht schaden, "sozial freundlicher" zu sein. – Ryan

+0

Es ist kein Ton, aber beachten Sie. Ganz einfach: Mysql-Funktionen sind bei richtiger Anwendung nicht weniger sicher als ADODOB. Und ADODB hilft nicht, wenn es gedankenlos verwendet wird. Sie brauchen also kein "magisches" Werkzeug, sondern Verständnis. Klar genug? –

Antwort

3

Eine vorbereitete Anweisung schützt Sie vor SQL-Injection, der ADODB docs:

$arr = array(

     array('Ahmad',32), 
     array('Zulkifli', 24), 
     array('Rosnah', 21) 

     ); 

$ok = $db->Execute('insert into table (name,age) values (?,?)',$arr); 

jedoch sowohl ADODB und PDO benutzt zu haben, würde ich empfehlen, Sie schauen in PDO Lernen statt.

+0

Vielen Dank für die Hilfe, aber ich weiß nicht wirklich, wie das mit SELECT & WHERE funktionieren würde. irgendwelche Ideen? – Ryan

+0

Der gleiche Weg - jeder Platzhalter in Ihrem SQL (a?) Wird durch die Werte des Arrays in der Reihenfolge ersetzt, dh. '$ db-> Execute (" SELECT Feld FROM TABLE WHERE COND =? ", Array ($ val));' Sie können [das Handbuch hier finden] (http://phplens.com/lens/adodb/docs-adodb .htm). Und noch einmal, wenn Sie gerade jetzt lernen, rate ich Ihnen dringend, PDO über ADODB zu wählen, da Sie eine größere Gruppe von Menschen haben, von denen Sie Hilfe bekommen können, und eine robustere, geprüfte Bibliothek verwenden. – Erik

+0

Danke, ich denke, ich werde auf PDO wechseln! – Ryan