Heim Backend-Entwicklung PHP-Tutorial Einige Ratschläge zur sicheren Programmierung in PHP

Einige Ratschläge zur sicheren Programmierung in PHP

Aug 20, 2019 am 10:27 AM
编程安全

Einführung

Um Internetdienste bereitzustellen, müssen Sie bei der Entwicklung von Code stets das Sicherheitsbewusstsein wahren. Es ist möglich, dass sich die meisten PHP-Skripte nicht um Sicherheitsprobleme kümmern, vor allem weil es so viele unerfahrene Programmierer gibt, die die Sprache verwenden. Es gibt jedoch keinen Grund, warum Sie aufgrund der Unsicherheit über Ihren Code inkonsistente Sicherheitsrichtlinien haben sollten. Wenn Sie etwas, bei dem es um Geld geht, auf einen Server legen, besteht die Möglichkeit, dass jemand versucht, ihn zu hacken. Erstellen Sie ein Forenprogramm oder eine beliebige Art von Warenkorb, und die Möglichkeit, angegriffen zu werden, steigt ins Unendliche.

Empfohlenes PHP-Video-Tutorial: https://www.php.cn/course/list/29/type/2.html

Hintergrund

Um die Sicherheit Ihrer Webinhalte zu gewährleisten, finden Sie hier einige allgemeine Sicherheitsrichtlinien:

1. Vertrauen Sie keinen Formularangriffen Das Formular ist einfach. Mithilfe eines einfachen JavaScript-Tricks können Sie Ihr Formular so einschränken, dass im Bewertungsfeld nur Zahlen von 1 bis 5 zulässig sind. Wenn jemand die JavaScript-Funktionalität seines Browsers deaktiviert oder benutzerdefinierte Formulardaten übermittelt, schlägt Ihre clientseitige Validierung fehl.
Benutzer interagieren mit Ihrem Skript hauptsächlich über Formularparameter, daher stellen sie das größte Sicherheitsrisiko dar. Was solltest du lernen? Validieren Sie in PHP-Skripten immer die an jedes PHP-Skript übergebenen Daten. In diesem Artikel zeigen wir Ihnen, wie Sie Cross-Site-Scripting-Angriffe (XSS) analysieren und sich davor schützen können, die Benutzeranmeldeinformationen kapern können (oder noch schlimmere Folgen haben). Außerdem erfahren Sie, wie Sie MySQL-Injection-Angriffe verhindern, die Ihre Daten beeinträchtigen oder zerstören können.

2. Vertrauen Sie Benutzern nicht

Gehen Sie davon aus, dass alle Daten, die Ihre Website erhält, voller schädlichem Code sind. Bereinigen Sie jeden Teil, auch wenn Sie glauben, dass niemand versuchen wird, Ihre Website zu hacken.

3. Deaktivieren Sie globale Variablen

Die größte Sicherheitslücke, die Sie möglicherweise haben, ist die Aktivierung des Konfigurationsparameters

. Glücklicherweise deaktivieren PHP 4.2 und höher diese Konfiguration standardmäßig. Wenn

aktiviert ist, können Sie diese Funktion deaktivieren, indem Sie die Variable

in Ihrer php.ini-Datei auf „Aus“ ändern:

register_globals = Off
Nach dem Login kopieren
register_globalsAnfänger finden es bequem, globale Variablen zu registrieren, tun dies jedoch nicht Ich weiß nicht, wie gefährlich dieses Setup sein kann. Ein Server mit aktivierten globalen Variablen weist der globalen Variablen automatisch jede Art von Parameter zu. Um zu verstehen, wie es funktioniert und warum es gefährlich ist, schauen wir uns ein Beispiel an. register_globalsregister_globalsAngenommen, Sie haben ein Skript namens

, das Formulardaten in Ihre Datenbank einfügt. Das anfängliche Formular sieht so aus:

<input name="username" type="text" size="15" maxlength="64">
Nach dem Login kopieren

Beim Ausführen von

weist PHP mit aktivierter globaler Variablenregistrierung den Parameter der Variablen process.php zu. Dadurch werden Tastenanschläge im Vergleich zum Zugriff über

oder

eingespart. Leider stellt dies auch ein Sicherheitsproblem dar, da PHP den Wert der Variablen auf den Wert setzt, der über GET- oder POST-Parameter an das Skript gesendet wird, wenn Sie die Variable nicht explizit initialisieren und nicht möchten, dass jemand dies tut Es wird ein großes Problem sein, es zu bedienen. process.php $usernameSehen Sie sich das Skript unten an. Wenn der Wert der Variable $_POST[&#39;username&#39;] wahr ist, werden dem Benutzer die überprüften Daten angezeigt. Normalerweise wird der Wert der Variablen $_GET[&#39;username&#39;] nur dann auf „true“ gesetzt, wenn der Benutzer die hypothetische Funktionsüberprüfung

korrekt besteht. Wenn Sie jedoch

aktivieren, kann jeder einen GET-Parameter wie $authorized senden, um ihn zu überschreiben: authenticated_user()

<?php
// Define $authorized = true only if user is authenticated
if (authenticated_user()) {
    $authorized = true;
}
?>
Nach dem Login kopieren

这个故事的寓意是,你应该从预定义的服务器变量中获取表单数据。所有通过 post 表单传递到你 web 页面的数据都会自动保存到一个称为 $_POST 的大数组中,所有的 GET 数据都保存在 $_GET 大数组中。文件上传信息保存在一个称为 $_FILES 的特殊数据中。另外,还有一个称为 $_REQUEST 的复合变量。

要从一个 POST 方法表单中访问username字段,可以使用 $_POST[&#39;username&#39;]。如果 username 在 URL 中就使用$_GET[&#39;username&#39;]。如果你不确定值来自哪里,用 $_REQUEST[&#39;username&#39;]

<?php
$post_value = $_POST[&#39;post_value&#39;];
$get_value = $_GET[&#39;get_value&#39;];
$some_variable = $_REQUEST[&#39;some_value&#39;]; 
?>
Nach dem Login kopieren

$_REQUEST $_GET$_POST、和 $_COOKIE 数组的结合。如果你有两个或多个值有相同的参数名称,注意 PHP 会使用哪个。默认的顺序是 cookiePOST、然后是 GET

以上就是为大家整理的一些编程安全建议。更过相关问题请访问PHP中文网:https://www.php.cn/

Das obige ist der detaillierte Inhalt vonEinige Ratschläge zur sicheren Programmierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate 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)

Was ist Intel TXT? Was ist Intel TXT? Jun 11, 2023 pm 06:57 PM

IntelTXT ist eine von Intel eingeführte hardwaregestützte Sicherheitstechnologie, die die Integrität und Sicherheit des Servers während des Startvorgangs gewährleisten kann, indem ein geschützter Bereich zwischen CPU und BIOS eingerichtet wird. Der vollständige Name von TXT lautet TrustedExecutionTechnology, also Trusted Execution Technology. Einfach ausgedrückt handelt es sich bei TXT um eine Sicherheitstechnologie, die Schutz auf Hardwareebene bietet, um sicherzustellen, dass der Server beim Start nicht durch Schadprogramme oder nicht autorisierte Software verändert wurde. Dieses hier

So verhindern Sie HTTP-Response-Splitting-Angriffe mit PHP So verhindern Sie HTTP-Response-Splitting-Angriffe mit PHP Jun 24, 2023 am 10:40 AM

Der HTTP-Response-Splitting-Angriff (HTTP-Response-Splitting-Angriff) ist eine Schwachstelle, bei der Webanwendungen zur Verarbeitung von HTTP-Antworten verwendet werden. Der Angreifer erstellt eine bösartige HTTP-Antwort und fügt bösartigen Code in die legitime Antwort ein, um den Zweck des Angriffs auf den Benutzer zu erreichen. Als häufig verwendete Webentwicklungssprache ist PHP auch der Gefahr von HTTP-Response-Splitting-Angriffen ausgesetzt. In diesem Artikel wird erläutert, wie Sie mit PHP HTTP-Response-Splitting-Angriffe verhindern können. Grundlegendes zu HTTP-Response-Splitting-Angriffen

BYD arbeitet mit Stingray zusammen, um einen sicheren und angenehmen Unterhaltungsbereich im Auto zu schaffen BYD arbeitet mit Stingray zusammen, um einen sicheren und angenehmen Unterhaltungsbereich im Auto zu schaffen Aug 11, 2023 pm 02:09 PM

Der offizielle öffentliche WeChat-Account von BYD gab bekannt, dass BYD eine Kooperationsvereinbarung mit Stingray, einem Unternehmen für Musikmedientechnologie, getroffen hat und plant, ab 2023 interaktive Auto-KTV-Produkte in New-Energy-Fahrzeugen einzuführen und sie Berichten zufolge in mehreren Märkten auf der ganzen Welt zu bewerben , BYD und Das von Stingray gemeinsam entwickelte Unterhaltungssystem wird die neuen Energiefahrzeuge von BYD um weitere Unterhaltungsfunktionen erweitern, um den unterschiedlichen Bedürfnissen der Benutzer gerecht zu werden. Das Unterhaltungssystem unterstützt mehrere Sprachen und bietet ein benutzerfreundliches Interface-Design, das Benutzern eine einfache Suche nach Songtitel, Interpret, Liedtext oder Genre ermöglicht. Darüber hinaus aktualisiert das System die Titel jeden Monat automatisch und bietet den Benutzern ein neues Musikerlebnis. Um die Fahrsicherheit zu gewährleisten, wenn sich das Fahrzeug im Fahrmodus befindet.

Sichere DNS-Auflösung im Nginx-Reverse-Proxy Sichere DNS-Auflösung im Nginx-Reverse-Proxy Jun 11, 2023 am 09:51 AM

Da sich Webanwendungen ständig weiterentwickeln, benötigen wir immer mehr Sicherheitsmaßnahmen, um unsere Daten und Privatsphäre zu schützen. Unter diesen ist die sichere DNS-Auflösung eine sehr wichtige Maßnahme, die uns vor Angriffen durch böswillige DNS-Server schützen kann. Es ist auch wichtig, eine sichere DNS-Auflösung im Nginx-Reverse-Proxy zu verwenden. In diesem Artikel wird die sichere DNS-Auflösung im Nginx-Reverse-Proxy erläutert und die Einrichtung erläutert. Was ist DNS-Auflösung? Die DNS-Auflösung (DomainNameSystem) wandelt Domänennamen in IP um

Wie schützt man sich vor Netzwerk-Keyloggern? Wie schützt man sich vor Netzwerk-Keyloggern? Jun 11, 2023 pm 03:03 PM

Im Internetzeitalter ist Informationslecks zu einem weit verbreiteten Phänomen in unserem Leben geworden. Unter anderem ist der Netzwerk-Keylogger ein sehr effizientes Hacker-Angriffstool, das vertrauliche Informationen wie Passwörter von Benutzerkonten stiehlt, indem es Benutzereingaben aufzeichnet, was eine Gefahr für die Privatsphäre und das Eigentum darstellt. Daher ist die wirksame Abwehr von Netzwerk-Keyloggern für uns Internetnutzer zu einer wichtigen Herausforderung geworden. In diesem Artikel erfahren Sie, wie Sie vermeiden können, Opfer von Online-Keyloggern zu werden. Aktualisieren Sie regelmäßig Betriebssystem und Software, Netzwerk-Keylogger und mehr

Einige Vorschläge für Nginx-Sicherheitsupdates Einige Vorschläge für Nginx-Sicherheitsupdates Jun 10, 2023 am 11:03 AM

Nginx ist ein weit verbreiteter Webserver und Reverse-Proxy-Server mit skalierbarer modularer Struktur und effizienten Leistungsvorteilen. Allerdings kann Nginx, genau wie andere Software, Sicherheitslücken aufweisen. Um die Sicherheit der Website zu schützen, sind Nginx-Sicherheitsupdates sehr wichtig. In diesem Artikel werden einige Empfehlungen für Sicherheitsupdates für Nginx vorgestellt. Aktualisieren Sie Nginx regelmäßig. Wie bei jeder Software sind Updates von entscheidender Bedeutung. Insbesondere für Webserver und Reverse-Proxy-Server wie Nginx, wenn

Was ist AMD Secure Processor? Was ist AMD Secure Processor? Jun 11, 2023 pm 12:15 PM

AMDSecureProcessor bezieht sich auf einen Co-Prozessor, der zur Verbesserung der Computersystemsicherheit verwendet wird. Diese Technologie wurde von AMD, einem weltbekannten Halbleiterhersteller, entwickelt, um stärkere Schutzmaßnahmen für die Systemsicherheit zu bieten. AMDSecureProcessor wird durch die Integration eines Sicherheitsprozessors in den Hauptprozessor implementiert. Der Sicherheitsprozessor ist für die Ausführung sicherheitsrelevanter Rechenaufgaben konzipiert und verfügt über einen eigenen unabhängigen Speicher und Speicher, der vom Hauptprozessor isoliert ist. Die Einführung dieses Coprozessors

Forschung zur Sicherheit der WeChat-Zahlung Forschung zur Sicherheit der WeChat-Zahlung Jun 11, 2023 am 08:57 AM

Mit der Popularität elektronischer Zahlungen verlassen sich die Menschen zunehmend auf mobile Zahlungsplattformen wie Alipay oder WeChat Pay. Diese Plattformen bieten Verbrauchern und Händlern eine bequeme und schnelle Zahlungsmethode, gleichzeitig hängt die Plattformsicherheit jedoch mit der Sicherheit der Vermögenswerte und persönlichen Daten der Benutzer zusammen. In diesem Artikel untersuchen wir die Sicherheit von WeChat Pay, um seine Leistung beim Schutz der persönlichen Daten der Benutzer und der Kontosicherheit zu bewerten. Zunächst müssen wir den Sicherheitsmechanismus bei WeChat-Zahlungen verstehen. WeChat Pay entspricht PCI-DSS (PaymentCard

See all articles