PHP hatte in den letzten Jahren einen schlechten Ruf. Es gibt viele Diskussionen über die „Zusammenfassung des schlechten Designs“ und syntaktische Inkonsistenzen, aber der Hauptkritikpunkt ist normalerweise die Sicherheit. Viele PHP-Sites werden innerhalb von Minuten gehackt, und selbst einige erfahrene und sachkundige Programmierer werden sagen, dass die Sprache selbst unsicher ist.
Ich bin immer dagegen, weil es aus Gründen des gesunden Menschenverstandes so viele PHP-Sicherheitsverletzungen gibt.
PHP-Anwendungen werden häufig gehackt aus folgenden Gründen:
So einfach ist das. PHP erfreut sich seit vielen Jahren großer Beliebtheit. Je beliebter PHP wird, desto mehr Schwachstellen werden entdeckt. Die von diesen Hackern entdeckten Schwachstellen liegen selten in der PHP-Verarbeitungs-Engine selbst, sondern sind meist Schwachstellen im Skript selbst.
Das heißt, wenn eine PHP-Anwendung gehackt wird, liegt die Schuld meist beim Programmierer. Entschuldigung, aber es ist wahr.
Sie können sicheres PHP schreiben, genau wie andere Websprachen. Es ist an der Zeit, sich wirklich mit Sicherheitsproblemen zu befassen.
Der beste Schutz gegen PHP-Hacks
Das Schreiben von sicherem PHP-Code ist keine geheime Kunst, die PHP-Entwicklern verborgen bleibt. Aber das Vertrauen ist so fragmentiert, dass Sie Wochen oder Monate (oder auch nicht so lange) damit verbringen müssen, einen losen Katalog oder eine Faustregel für gute Sicherheitspraktiken zusammenzustellen. Nur echte Erfahrung wird Ihnen zeigen, wie wichtig es ist.
Glücklicherweise hat Ben Edmunds es für Sie erledigt. Kürzlich wurde „Building Secure PHP Apps – a Practical Guide“ veröffentlicht, eines der besten sicherheitsbezogenen Bücher, die ich je gelesen habe, und mit Sicherheit die beste Abdeckung von PHP. In diesem Artikel werde ich detailliert erläutern, warum meiner Meinung nach jeder PHP-Entwickler ihn lesen sollte.
Dieses Buch ist ein prägnanter Leitfaden, der Sie als Entwickler auf die nächste Ebene bringt und es Ihnen ermöglicht, bessere und sicherere Skripte zu erstellen.
Einleitung
Das Buch geht schnell auf die gesunden Menschenverstandsregeln der Webentwicklung ein: Vertrauen Sie Ihren Benutzern nicht und filtern Sie alle Eingaben. Beginnen Sie mit einem kleinen Szenario und gehen Sie zu den technischen Methoden über, mit denen Benutzer auf das System zugreifen können. Die Themen von Kapitel 1 sind:
Das sind Dinge, die PHP-Neulinge (und einige Veteranen) immer übersehen haben. Viele betrachten das Filtern von Eingaben als optionalen Schritt und werden in diesem Kapitel ausführlich besprochen.
Beim Lesen wurde ich an meinen ersten Arbeitstag vor vielen Jahren erinnert, als ich mich im vorhandenen Code vertieft und den Code für das neue Benutzererstellungsskript gefunden habe:
?
3
|
}
|
1 |
$sql = "INSERT INTO Datenbank (id,name,...) VALUES (" . $_POST [ "Name" ] ");"
|
Ich habe diesen Job am ersten Tag so gut wie aufgegeben, weil sie sich auf diesen schrecklichen Code verlassen haben. Der Code ist vorhanden und es liegt in Ihrer Verantwortung, ihn zu ändern, um die Erstellung weiterer Codes zu vermeiden.
In diesem Kapitel wird erläutert, warum Code wie dieser ein großes Risiko darstellt und wie man es beheben kann.
HTTPS und Zertifikate
Dies ist ein weiterer Bereich, in dem Ben Skripte, Geschichten und ein bisschen Humor einbezieht und gleichzeitig das weniger klare Konzept von HTTPS klar erklärt. Er erklärt es so, dass sogar Ihr Chef es verstehen kann.
Dieses Buch beschreibt sehr umfassend die Funktionsweise von Zertifikaten, Zertifikatstypen und Implementierungsmethoden, einschließlich der Bereitstellung auf Apache oder Nginx.
Passwort
In diesem Buch werden Passwörter, Hashes, Nachschlagetabellen und Salts ausführlich erklärt, was für Entwickler, die Benutzeranmeldesysteme erstellen, unglaublich hilfreich ist.
Dies ist ein Bereich, der selbst im Jahr 2014 schmerzlich fehlte. Ich stoße immer noch auf Apps, die Passwörter im Klartext speichern oder dumme Methoden wie die ROT13-Verschlüsselung verwenden, um sie zu schützen. Tun Sie dies nicht, damit die Leute weiterhin Ihre App und Ihren guten Namen nutzen.
Passwörter und andere sensible Daten sollten sehr schwer zu bekommen sein oder sogar vollen Zugriff auf die Datenbank erhalten. Dieses Buch ist sehr umfassend und bietet Ihnen gute Anleitungen zum Entwerfen besserer Systeme.
Authentifizierung und Zugriffskontrolle
Die in diesem Buch behandelten Themen sind sehr umfassend. Wenn Sie eine neue PHP-Anwendung erstellen, sind einige der wichtigsten Überlegungen:
Dies ist ein wichtiger Ort, um über Anwendungen nachzudenken, insbesondere über Anwendungen, die sensible Daten verarbeiten. Ein erheblicher Teil der Entwicklung im Unternehmen ist diesem Thema gewidmet. Wenn Sie Authentifizierung und Zugriffskontrolle nicht richtig einrichten, ist die Wahrscheinlichkeit groß, dass Sie die Benutzer verwirren und mehr Arbeit verursachen. Schlimmer noch sind Serverdatenlücken und/oder Datenbeschädigungen.
Dieses Buch deckt die Grundlagen gut ab und befasst sich dann mit Dingen wie der Steuerung des Zugriffs auf Dateien oder einzelne Seiten einer Anwendung, mit vielen Codebeispielen als Referenz.
Spezifische Verwendung
Dieses Buch behandelt einige gängige Exploits zur Kompromittierung eines Systems und befasst sich ausführlich mit Cross-Site-Scripting, der wohl häufigsten Art und Weise, wie Angreifer Anwendungen ausnutzen. Es erklärt die verschiedenen Arten von Angriffen und wie Sie sich schützen können.
Nicht schlecht, oder? Über diesen Link können Sie Bücher mit Rabatt kaufen!
Was mir an diesem Buch am besten gefällt
Was mir beim Lesen dieses Buches wirklich gefallen hat, ist die Art und Weise, wie die Informationen so präsentiert werden, dass sie sowohl für Anfänger als auch für erfahrene Programmierer nützlich sind. Es werden verschiedene Konzepte vorgestellt, was sie sind und wie Sie sich schützen können. Es gibt viele Codebeispiele, nicht die „Auffüllung“, die manche Fachbücher haben.
Sie können dieses Buch schnell durchlesen, da es nicht viel Inhalt hat. Neulinge können dieses Buch durchlesen, jedes Thema untersuchen, sich ihren Code ansehen und Korrekturen vornehmen. Denken Sie daran, dass Sie in dieser Angelegenheit ständig überarbeiten müssen. Wenn Sie zurückblicken und sich für den Code schämen, den Sie vor sechs Monaten geschrieben haben, tun Sie das Richtige.
Fortgeschrittenere, erfahrenere Programmierer können diesen Leitfaden verwenden, um ihre Schwächen auszugleichen (geben Sie es zu, egal wie lange Sie schon in dieser Branche sind, Sie haben Schwächen) und die Tools, die sie in ihrem Arbeitssystem verwenden, besser verstehen. Ich habe zum Beispiel jahrelang die Authentifizierung wie verrückt eingesetzt, aber auf dem Niveau, das in diesem Buch behandelt wird, nie darüber nachgedacht.
Egal wer du bist, du wirst etwas lernen. Hören Sie also auf, diesen Artikel zu lesen, und kaufen Sie ein Exemplar! Benutzen Sie diesen Link, um zu kaufen und einen Rabatt zu erhalten! !
Haftungsausschluss
Ich habe auf meinem Blog nicht viel kommentiert, daher haben Sie vielleicht einige Fragen. Zur Klarstellung: Ich wurde für die Bewertung weder bezahlt noch entschädigt. Mit dem obigen Gutscheincode erhalten Leser meines Blogs 4 $ Rabatt auf den ursprünglichen Buchpreis, ich erhalte kein Geld. Selbstverständlich habe ich zu Rezensionszwecken ein Werbeexemplar dieses Buches erhalten.
Ich kenne diesen Autor persönlich, was einer der Gründe ist, warum ich den Informationen in diesem Buch vertraue und seiner Anleitung voll und ganz vertraue. Ben Edmunds hatte in den letzten Jahren großen Einfluss auf die PHP-Community. Er ist einer der Leiter der PHP-Benutzergruppe in Polen letzten Jahren. Es genügt zu sagen, dass er sich auskennt und Sie den hier präsentierten Informationen vertrauen können.
Das Obige stellt die Bücher vor, die jeder PHP-Entwickler lesen sollte, einschließlich relevanter Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.