Einige Ratschläge zur sicheren Programmierung in PHP
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. Wennaktiviert ist, können Sie diese Funktion deaktivieren, indem Sie die Variable
in Ihrer php.ini-Datei auf „Aus“ ändern:register_globals = Off
register_globals
Anfä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_globals
register_globals
Angenommen, 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">
weist PHP mit aktivierter globaler Variablenregistrierung den Parameter der Variablen process.php
zu. Dadurch werden Tastenanschläge im Vergleich zum Zugriff über
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
$username
Sehen Sie sich das Skript unten an. Wenn der Wert der Variable $_POST['username']
wahr ist, werden dem Benutzer die überprüften Daten angezeigt. Normalerweise wird der Wert der Variablen $_GET['username']
nur dann auf „true“ gesetzt, wenn der Benutzer die hypothetische Funktionsüberprüfung
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; } ?>
这个故事的寓意是,你应该从预定义的服务器变量中获取表单数据。所有通过 post 表单传递到你 web 页面的数据都会自动保存到一个称为 $_POST
的大数组中,所有的 GET 数据都保存在 $_GET
大数组中。文件上传信息保存在一个称为 $_FILES
的特殊数据中。另外,还有一个称为 $_REQUEST
的复合变量。
要从一个 POST 方法表单中访问username字段,可以使用 $_POST['username']
。如果 username 在 URL 中就使用$_GET['username']
。如果你不确定值来自哪里,用 $_REQUEST['username']
。
<?php $post_value = $_POST['post_value']; $get_value = $_GET['get_value']; $some_variable = $_REQUEST['some_value']; ?>
$_REQUEST
是 $_GET
、$_POST
、和 $_COOKIE
数组的结合。如果你有两个或多个值有相同的参数名称,注意 PHP 会使用哪个。默认的顺序是 cookie
、POST
、然后是 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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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

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

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.

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

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

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

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

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
