PDO in Codeigniter - Schützen vs SQL-Injection
Wahre PHP-Security-Experten, ist PDO der Weg zu gehen oder wäre ich ok mit Codeigniter Active-Record-Klasse?
Habe ich gelesen, http://codeigniter.com/forums/viewthread/179618/ und bin nicht 100% überzeugt.
Ich in der Regel stützen Sie sich auf Experten wie Chris Shiflett und OWASP für Sicherheits-Tipps. http://shiflett.org/blog/2006/jul/the-owasp-php-top-5
Wurde mit einem homebrewed PDO DB-Klasse, die statt des Codeigniter-Datenbank-Dateien. Immer wenn ich hochladen, es ist eine relativ kleine Schmerzen zu kopieren. Der Hauptgrund, warum ich benutze PDO ist zum Schutz vor SQL-Injection vs Verwendung von Active Record.
EDIT: NICHT EIN LOCKVOGEL aber ich schrieb einen Beitrag, nach der Tat, wie zu integrieren
PDO in Codeigniter. Wenn jemand feedback hat, würde ich sein glücklich, das zu hören.
- Danke für all die tollen Antworten. Jede Antwort hat einen gültigen Punkt. Ich werde weiterhin verwenden Sie PDO für Flexibilität, Sicherheit, ein parameter binden, und weil ich über ein fundiertes wissen über es.
- Ich lese Ihre blog-post. Aber wie kann ich mit PDO in der CI nach diesen änderungen? Siehe Wie kann ich mit PDO in CodeIgniter 2?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach dem die Seite verwiesen wird, die Active-Record-Klasse verwendet
mysql_
Funktionen für string-escaping. Das heißt, es ist noch im Aufbau SQL-strings im PHP-land anstelle der Verwendung von parametrisierten APIs in der Datenbank. Es mag zwar sein, frei von bekannt Mängel jetzt, es ist immer noch eine bessere Idee, um die Nutzung einer API, folgt die Konstruktion sicherer.Gut, es ist eine generelle Antwort für alle Fragen dieser Art:
Es ist nicht ein Zauberstab, es ist ein Zauberer.
(weiß nicht, wo habe ich bekommen, dass zu sagen, aber es scheint, ich bin nur eine mit es, aber wahrscheinlich habe ich es falsch schrieb)
Gibt es nichts gut oder schlecht in der Technologie selbst.
Alles hängt davon ab, die Hände, die es verwenden.
Jedes mal, wenn ich sehe lahm spricht von SQL-injection, es geht immer um dynamische Daten nur.
Während die meisten Gefahr kommt aus der anderen Abfrage-Teile - sagen, dynamischen Bezeichner. Wo PDO kann ein wenig weniger als nichts, um mit Ihnen umzugehen.
So, kann es keine bestimmte Antwort.
Sie können unabhängig von der Technologie, die Sie mögen, solange Sie verstehen, was Sie tun.
Und Umgekehrt, wenn Sie nicht verstehen, wie es funktioniert, aber nur glauben, dass einige Technologie zu tun Ihren job zu schützen Sie Ihr app, bist du bereits in Schwierigkeiten.
Das ist es.
Wenn Sie bereits an einem bequemen Punkt mit Ihrem PDO-Bibliothek, gibt es keinen Grund aufzuhören in CI. Active Record ist großartig, wenn Sie wollen, Folgen Sie den CI-Muster, aber es gibt kaum eine Anforderung in jedem Sinne.
Werfen Sie einen Blick auf http://codeigniter.com/user_guide/database/queries.html
Letzten Abschnitt Abfrage Bindungen, erzählt Sie, dass Sie können verwenden den Abfrage-Bindungen, die automatisch escaped.
Obwohl es nicht wirklich prepared statements, es ist eine effektive simulation des gleichen.