Heim > Backend-Entwicklung > PHP-Tutorial > Ein Buch, das jeder PHP-Entwickler lesen sollte

Ein Buch, das jeder PHP-Entwickler lesen sollte

WBOY
Freigeben: 2016-08-08 09:32:04
Original
893 Leute haben es durchsucht

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:

  • Es gibt zu viele PHP-Anwendungen.
  • Es ist leicht zu lernen und zu schreiben.
  • Schlechtes PHP ist einfach zu schreiben.

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:

  • SQL-Injection
  • Eine große Anzahl an Aufgabenfeldern
  • Typkonvertierung
  • Eingabe/Ausgabe filtern

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:

?

1

2

3

if ($_POST["isadmin"] == 1) {

// code to set to admin in database

}

1 2

3

if ($_POST["isadmin"] == 1) {

// Code, der in der Datenbank auf „Admin“ gesetzt werden soll

1

$sql = "INSERT INTO database (id,name,...) VALUES (" . $_POST["Name"] . ");"

}
Als ich diesen Code sah, geriet ich in Panik, da es sich um ein sehr effektives Skript handelt, das von einem böswilligen Benutzer leicht erraten und eine einfache Formularvariable eingefügt werden könnte, um auf etwa 5.000 Kreditkartennummern und andere persönliche Informationen zuzugreifen. Nachdem ich tiefer gegraben hatte, fand ich den folgenden Code: ?
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:

  • Wer kann auf welche Ressourcen zugreifen?
  • Wer kann den Zugriff anderer Benutzer kontrollieren?

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.

  • Ursprüngliche Adresse: http://www.jeremymorgan.com/blog/programming/the-book-every-php-dev-should-read/
  • Hinweis 1: ROT13 (um 13 Stellen rotieren, manchmal auch ROT-13 mit einem Bindestrich in der Mitte genannt) ist ein einfaches Ersatzpasswort. http://zh.wikipedia.org/wiki/ROT13

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.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage