Heim Backend-Entwicklung PHP-Tutorial 如何书写安全的PHP代码_PHP

如何书写安全的PHP代码_PHP

Jun 01, 2016 pm 12:43 PM
病毒 Cybercafé Information 软件

PHP是一个很容易学习的语言, 许多人在没有任何编程背景下学习它作为一种去增加一些互动元素到他们的网站的方法. 不幸的是,这往往意味着PHP程序员,尤其是那些较新的Web开发程序员, 并没有觉察他们网站中潜在安全风险. 这里是一些比较常见的安全问题,以及如何去避免它们。

永远,永远信任你的用户

不能说足够的次数,你应该永远,永远, 信任你的用户向你发送你期望的数据. 我听到很多人回应,大概是"哦,没有恶意的人将对我的网站感兴趣"。这就错了, 这里总是有怀有恶意的用户可以利用一个安全漏洞,问题可以很容易被发现,因为一个用户无意中做错了。

因此, 所有网页的发展的戒律,我不能再压缩了的话就是:永远,永远,相信你的用户。假定你的网站从使用者收集的每片数据含有恶意代码,始终, 你认为已经检查客户端验证的这些数据,例如在JavaScript ,如果你能够达到这个目标,你应该有了一个良好的开端。如果PHP的安全性很重要,这一点就要重要地学习,个人来说,"PHP安全"是一个重大的问题。

全局变量

在许多语言,你必须明确地设定一个变量以使用它。 在PHP中,有一个选项" , register_globals" , 你可以在php.ini中设置,让你可以使用全局变量,而不需要事先声明。

考虑下面的代码:

以下为引用的内容:

if ($password == "my_password") {

$authorized = 1;

}

if ($authorized == 1) {

echo "Lots of important stuff.";

}


许多人看上去觉得没什么问题,而事实上,这方面的代码在整个网站上应用. 但是,如果一个服务器开启"register_globals"。然后,只需添加"?authorized=1"的URL将让任何人都看到. 这是一个最普遍的PHP的安全问题。

所幸的是,这有两个简单的解决办法. 第一,也许最好的,就是把"register_globals"关闭. 二是你必须明确只有你使用变量. 在上面的例子中,这将意味着加入"?authorized=0"; 在脚本的开始:

$authorized = 0;if ($password == "my_password") {$authorized = 1;}if ($authorized == 1) {echo "Lots of important stuff.";}

错误信息

错误信息是一个非常有用的工具,无论是程序员和黑客. 开发者需要它们去改正错误. 黑客可以利用它们来找出一个网站的各种信息, 从目录结构的服务器,数据库登录信息. 如果可能的话,最好是关闭所有的错误报告. PHP可以完成这项工作. htaccess或php.ini,设置"error_reporting" 的值改为"0" . 如果你有一个开发环境,您可以设定不同的错误报告级别。

SQL注入

PHP的一个最大优点就是,它可以方便地与数据库中操作,最显着的MySQL的. 很多人使用这个数据库。不少网站,包括这一个,依赖于数据库的函数. 然而,正如你所料,有这么大的权力你就要够面对庞大的潜在安全问题. 所幸的是,有很多解决办法. 最常见面安全问题是一个数据库 SQL注入-当用户利用一个安全故障在你的数据库运行SQL语句. 让我们用一个常见的例子. 许多登录系统具有以下特点:一条线,看起来象不像是在检查从表单输入的用户名和密码, 比如去控制访问一个管理员区:

$check = mysql_query("Select Username, Password, UserLevel FROM Users Where Username = '".$_POST['username']."' and Password = '".$_POST['password']."'");

看上去很眼熟? 就表面看来,它好像做得不错.上述并不像可以做许多破坏. 但话又说回来,我在"username" 输入框输入这样的值并提交:

'' 或者 1=1 #

这个执行语句现在是这个样子:

elect Username, Password FROM Users Where Username = '' or 1=1 #' and Password = '';

散列符号(#)告诉MySQL的它之后一切,都会被忽略. 所以实际上只是执行的SQL到这一点. 1永远等于1 ,所以SQL将从数据库返回所有的用户名和密码. 在大多数用户登录数据库的首个户名和密码组合都是管理员用户, 他干脆输入了几个符号作为管理员已登录你的网站, 果他们其实都知道的用户名和密码,他们会有同样的权力如。

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 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 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)

Welche Software ist Bonjour und kann sie deinstalliert werden? Welche Software ist Bonjour und kann sie deinstalliert werden? Feb 20, 2024 am 09:33 AM

Titel: Entdecken Sie die Bonjour-Software und wie Sie sie deinstallieren. Zusammenfassung: In diesem Artikel werden die Funktionen, der Nutzungsumfang und die Deinstallation der Bonjour-Software vorgestellt. Gleichzeitig wird auch erläutert, wie Bonjour durch andere Tools ersetzt werden kann, um den Anforderungen der Benutzer gerecht zu werden. Einleitung: Bonjour ist eine gängige Software im Bereich der Computer- und Netzwerktechnik. Obwohl dies für einige Benutzer möglicherweise ungewohnt ist, kann es in bestimmten Situationen sehr nützlich sein. Wenn Sie Bonjour-Software installiert haben, diese nun aber deinstallieren möchten, dann

Was tun, wenn WPS Office die PPT-Datei nicht öffnen kann - Was tun, wenn WPS Office die PPT-Datei nicht öffnen kann? Was tun, wenn WPS Office die PPT-Datei nicht öffnen kann - Was tun, wenn WPS Office die PPT-Datei nicht öffnen kann? Mar 04, 2024 am 11:40 AM

Kürzlich haben mich viele Freunde gefragt, was zu tun ist, wenn WPSOffice keine PPT-Dateien öffnen kann. Lassen Sie uns als Nächstes lernen, wie wir das Problem lösen können, dass WPSOffice keine PPT-Dateien öffnen kann. 1. Öffnen Sie zunächst WPSOffice und rufen Sie die Homepage auf, wie in der Abbildung unten gezeigt. 2. Geben Sie dann das Schlüsselwort „Dokumentreparatur“ in die Suchleiste oben ein und klicken Sie dann, um das Dokumentreparaturtool zu öffnen, wie in der Abbildung unten gezeigt. 3. Importieren Sie dann die PPT-Datei zur Reparatur, wie in der Abbildung unten gezeigt.

Mar 18, 2024 pm 02:58 PM

CrystalDiskMark ist ein kleines HDD-Benchmark-Tool für Festplatten, das schnell sequentielle und zufällige Lese-/Schreibgeschwindigkeiten misst. Lassen Sie sich als Nächstes vom Redakteur CrystalDiskMark und die Verwendung von CrystalDiskMark vorstellen ). Zufällige I/O-Leistung. Es ist eine kostenlose Windows-Anwendung und bietet eine benutzerfreundliche Oberfläche und verschiedene Testmodi zur Bewertung verschiedener Aspekte der Festplattenleistung. Sie wird häufig in Hardware-Reviews verwendet

Mar 18, 2024 pm 04:50 PM

CrystalDiskInfo ist eine Software zur Überprüfung von Computerhardwaregeräten. Mit dieser Software können wir unsere eigene Computerhardware überprüfen, z. B. Lesegeschwindigkeit, Übertragungsmodus, Schnittstelle usw.! Wie verwende ich CrystalDiskInfo zusätzlich zu diesen Funktionen und was genau ist CrystalDiskInfo? 1. Der Ursprung von CrystalDiskInfo Als eine der drei Hauptkomponenten eines Computerhosts ist ein Solid-State-Laufwerk das Speichermedium eines Computers und für die Datenspeicherung des Computers verantwortlich. Ein gutes Solid-State-Laufwerk kann das Lesen von Dateien beschleunigen beeinflussen das Verbrauchererlebnis. Wenn Verbraucher neue Geräte erhalten, können sie dazu Software von Drittanbietern oder andere SSDs verwenden

So legen Sie die Tastaturschrittweite in Adobe Illustrator CS6 fest - So legen Sie die Tastaturschrittweite in Adobe Illustrator CS6 fest So legen Sie die Tastaturschrittweite in Adobe Illustrator CS6 fest - So legen Sie die Tastaturschrittweite in Adobe Illustrator CS6 fest Mar 04, 2024 pm 06:04 PM

Viele Benutzer verwenden die Adobe Illustrator CS6-Software in ihren Büros. Wissen Sie also, wie Sie die Tastaturinkremente in Adobe Illustrator CS6 einstellen? Dann zeigt Ihnen der Editor, wie Sie die Tastaturinkremente in Adobe Illustrator CS6 festlegen können Werfen Sie einen Blick unten. Schritt 1: Starten Sie die Adobe Illustrator CS6-Software, wie in der Abbildung unten gezeigt. Schritt 2: Klicken Sie in der Menüleiste nacheinander auf den Befehl [Bearbeiten] → [Einstellungen] → [Allgemein]. Schritt 3: Das Dialogfeld [Tastaturschrittweite] wird angezeigt. Geben Sie die erforderliche Zahl in das Textfeld [Tastaturschrittweite] ein und klicken Sie abschließend auf die Schaltfläche [OK]. Schritt 4: Verwenden Sie die Tastenkombination [Strg]

Welche Art von Software ist Bonjour? Welche Art von Software ist Bonjour? Feb 22, 2024 pm 08:39 PM

Bonjour ist ein von Apple eingeführtes Netzwerkprotokoll und eine Software zum Erkennen und Konfigurieren von Netzwerkdiensten in einem lokalen Netzwerk. Seine Hauptaufgabe besteht darin, Geräte, die im selben Netzwerk verbunden sind, automatisch zu erkennen und zwischen ihnen zu kommunizieren. Bonjour wurde erstmals 2002 in der MacOSX10.2-Version eingeführt und ist jetzt standardmäßig im Apple-Betriebssystem installiert und aktiviert. Seitdem hat Apple die Bonjour-Technologie für andere Hersteller geöffnet, sodass viele andere Betriebssysteme und Geräte Bonjour unterstützen können.

Wie kann ein Versuch, eine inkompatible Software mit Edge zu laden, behoben werden? Wie kann ein Versuch, eine inkompatible Software mit Edge zu laden, behoben werden? Mar 15, 2024 pm 01:34 PM

Wenn wir den Edge-Browser verwenden, wird manchmal versucht, inkompatible Software gleichzeitig zu laden. Was ist also los? Lassen Sie diese Website den Benutzern sorgfältig vorstellen, wie sie das Problem lösen können, das beim Versuch entsteht, inkompatible Software mit Edge zu laden. So lösen Sie das Problem, eine inkompatible Software mit Edge zu laden. Lösung 1: Suchen Sie im Startmenü nach IE und greifen Sie direkt über IE darauf zu. Lösung 2: Hinweis: Das Ändern der Registrierung kann zu Systemfehlern führen. Gehen Sie daher vorsichtig vor. Ändern Sie die Registrierungsparameter. 1. Geben Sie während des Betriebs regedit ein. 2. Suchen Sie den Pfad\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Micros

So entfernen Sie Viren vollständig von Mobiltelefonen. Empfohlene Methoden zum Umgang mit Viren in Mobiltelefonen So entfernen Sie Viren vollständig von Mobiltelefonen. Empfohlene Methoden zum Umgang mit Viren in Mobiltelefonen Feb 29, 2024 am 10:52 AM

Nachdem ein Mobiltelefon mit einem bestimmten Trojaner infiziert wurde, kann es von einer Antivirensoftware nicht erkannt und abgetötet werden. Dieses Prinzip ähnelt einem Computer, der mit einem hartnäckigen Virus infiziert ist. Der Virus kann nur durch Formatieren des Laufwerks C vollständig entfernt werden Nach der Neuinstallation des Systems erkläre ich Ihnen, wie Sie den Virus vollständig entfernen, nachdem das Mobiltelefon mit einem hartnäckigen Virus infiziert ist. Methode 1: Öffnen Sie das Telefon und klicken Sie auf „Einstellungen“ – „Andere Einstellungen“ – „Telefon wiederherstellen“, um das Telefon auf die Werkseinstellungen zurückzusetzen. Hinweis: Bevor Sie die Werkseinstellungen wiederherstellen, müssen Sie die wichtigen Daten im Telefon sichern zu denen des Computers. „Es ist dasselbe wie das Formatieren und Neuinstallieren des Systems.“ Methode 2 (1) Schalten Sie zuerst das Telefon aus und halten Sie dann die „Einschalttaste“ gedrückt „ + „Lautstärke +-Taste oder Lautstärke –-Taste“ am Telefon gleichzeitig drücken.

See all articles