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

Ein Buch, das jeder PHP-Entwickler lesen sollte

Aug 08, 2016 am 09:32 AM
ben database http php

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.

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP arbeitet mit Datenbank CakePHP arbeitet mit Datenbank Sep 10, 2024 pm 05:25 PM

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

See all articles