Ich bin ein PHP / MySQL-Anfänger, der nichts über Online-Sicherheit weiß.
Könnten Sie mich auf einige Ressourcen hinweisen, die mein Wissen unterstützen? (Anfängerlevel, bitte!)
Ich schlage zwei Dinge vor:
Diese Frage ist gut beantwortet und deckt MySQL ab Injektionsangriffe (eine der häufigsten Sorgen. Diese Frage ist ebenfalls gut dokumentiert und deckt XSS-Angriffe (Cross Site Scripting) gut ab.
Zuletzt erfahren Sie, was PHP.INI ist und wie es eingerichtet wird und was tatsächlich geöffnet / geschlossen und an / aus ist. Ein guter Host wird beispielsweise niemals register globals aktivieren, aber Sie sollten zumindest wissen, was es ist und warum es überprüft werden soll. PHP Security verfügt über Ressourcen für diese und viele andere PHP-Sicherheitsfragen.
PHP ist vielleicht nicht der beste Start. Vor allem, wenn Sie Ihren eigenen Code größtenteils selbst erstellen. Es hält nicht gerade Ihre Hand mit Sicherheitsproblemen. (fd: Ich wünschte, PHP würde aus einer Vielzahl von Gründen weggehen.)
Aber einige allgemeine Regeln:
<select>
mit a, b und c gegeben hast, bedeutet das nicht, dass du eins davon zurückbekommst. Javascript ist keine Garantie für irgendetwas. Schiedsrichter können leicht gefälscht werden. POST-Daten können leicht gefälscht werden. Textfelder können ein beliebiges Zeichen enthalten, nicht nur diejenigen, die Sie erwarten. mysql_real_escape_string()
wird die SQL-Injektion reparieren, aber Sie müssen daran denken, sie überall zu verwenden. Dies schafft viele Orte, an denen Sie einen Fehler machen könnten und vergessen Sie Ihr Flucht-Ritual. Verwenden Sie stattdessen vorbereitete Anweisungen, und das Problem verschwindet vollständig . Ein weiteres Beispiel: Pylons (ein Python-Framework) richtet seine Templates so ein, dass jede Variable HTML-maskiert ist, wenn Sie nicht explizit etwas anderes verlangen. XSS ist kein Problem mehr, und ich muss mir keine Sorgen machen, dass ich manuell alles, was ich drucke, umgehen kann. Wenn Sie etwas Zeit haben, können Sie sich die Folien anschauen, die Stefan Esser während seiner Konferenz auf der Dutch PHP Conference vor ein paar Monaten, mit dem Titel" PHP Security Crash Course für Anfänger ".
Es gibt ein paar PDFs:
Diese könnten hilfreich sein.
Dann zögern Sie nicht, ein bisschen nach nicht-PHP-spezifischen Informationen zu suchen: einige Sicherheitsprobleme (wie XSS, SQL Injections, CSRF, ...) sind nicht spezifisch für PHP: nur die technischen Mittel, um sie zu vermeiden sind spezifisch; Sie können also viele Informationen auf Websites wie Wikipedia oder der OWASP-Website
finden