Heim  >  Artikel  >  Backend-Entwicklung  >  8 sicherheitsrelevante PHP-Funktionen

8 sicherheitsrelevante PHP-Funktionen

伊谢尔伦
伊谢尔伦Original
2016-11-24 14:48:411161Durchsuche

Sicherheitsaspekte sind ein wichtiger Aspekt, den es in Programmiersprachen zu berücksichtigen gilt. Fast jede tatsächliche Sprache bietet einige Funktionen, Module oder andere Features, um die Sicherheit zu gewährleisten. Im modernen Internet müssen wir häufig Eingabedaten von Benutzern auf der ganzen Welt einholen. Wir alle wissen jedoch: „Vertrauen Sie niemals den vom Benutzer eingegebenen Daten.“ Daher werden in verschiedenen Webentwicklungssprachen Funktionen bereitgestellt, um die Sicherheit der Benutzereingabedaten zu gewährleisten. Heute werfen wir einen Blick auf solche Funktionen, die in PHP, der bekanntesten Open-Source-Sprache, bereitgestellt werden.

In PHP gibt es einige sehr nützliche und praktische Funktionen, die Ihrer Website helfen können, Probleme wie SQL-Injection-Angriffe, XSS-Angriffe usw. zu verhindern. Werfen wir einen Blick auf diese Funktionen, die die Projektsicherheit in PHP gewährleisten können. Die unten aufgeführten Funktionen sind nur die Funktionen, die ich für Ihr Projekt als hilfreich empfunden habe, und sie sind möglicherweise nicht vollständig.

1. mysql_real_escape_string()

Diese Funktion ist sehr hilfreich, um SQL-Injection-Angriffe in PHP zu verhindern. Sie fügt Sonderzeichen wie einfache Anführungszeichen und doppelte Anführungszeichen hinzu Stellen Sie sicher, dass die Benutzereingaben sicher sind, bevor Sie sie zur Abfrage verwenden. Beachten Sie jedoch, dass Sie diese Funktion nutzen, während Sie mit der Datenbank verbunden sind.

Aber jetzt wird die Funktion mysql_real_escape_string() grundsätzlich nicht mehr benötigt. Bei der gesamten Entwicklung neuer Anwendungen sollten Bibliotheken wie PDO zum Betrieb der Datenbank verwendet werden. Mit anderen Worten: Wir können vorgefertigte Anweisungen verwenden, um SQL-Injection-Angriffe zu verhindern.


2. addslashes()

Diese Funktion ist der obigen mysql_real_escape_string() sehr ähnlich. Achten Sie jedoch darauf, diese Funktion nicht zu verwenden, wenn der Wert von magic_quotes_gpc in der Einstellungsdatei php.ini „on“ ist. Standardmäßig ist magic_quotes_gpc aktiviert und führt automatisch addslashes() für alle GET-, POST- und COOKIE-Daten aus. Verwenden Sie addslashes() nicht für Zeichenfolgen, die von magic_quotes_gpc maskiert wurden, da dies zu doppeltem Escapezeichen führt. Sie können den Wert dieser Variablen über die Funktion get_magic_quotes_gpc() in PHP überprüfen.


3. htmlentities()

Diese Funktion ist sehr nützlich zum Filtern von Benutzereingabedaten. Sie kann Zeichen in HTML-Entitäten konvertieren. Wenn der Benutzer beispielsweise das Zeichen „<“ eingibt, wird es von dieser Funktion in die HTML-Entität < umgewandelt und verhindert so XSS- und SQL-Injection-Angriffe.


4. htmlspecialchars()

Einige Zeichen in HTML haben spezielle Bedeutungen. Wenn Sie solche Bedeutungen widerspiegeln möchten, müssen Sie sie in HTML-Entitäten umwandeln. , gibt diese Funktion die konvertierte Zeichenfolge zurück, zum Beispiel wird „&“ in „&“ umgewandelt.


5. strip_tags()

Diese Funktion kann natürlich auch alle HTML-, JavaScript- und PHP-Tags entfernen Der zweite Parameter ermöglicht die Anzeige bestimmter Tags.


6. md5()

Einige Entwickler speichern sehr einfache Passwörter, was aus Sicherheitsgründen nicht gut ist. md5() Die Funktion kann ein erzeugen 32-stelliger MD5-Hash einer bestimmten Zeichenfolge, und der Vorgang ist irreversibel, d. h. Sie können die ursprüngliche Zeichenfolge nicht aus dem Ergebnis von md5() erhalten.

7. sha1()

Diese Funktion ähnelt md5() oben, verwendet jedoch einen anderen Algorithmus und erzeugt einen 40-stelligen SHA-1-Hash (md5 generiert einen 32-stelligen SHA-1-Hash). Zeichen-Hash).


8. Nicht lachen, ich weiß, dass dies keine sicherheitsrelevante Funktion ist, sondern Variablen in Ganzzahltypen umwandelt. Sie können diese Funktion jedoch verwenden, um Ihren PHP-Code sicherer zu machen, insbesondere wenn Sie Daten wie ID und Alter analysieren.

Stellungnahme:
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