Maison développement back-end tutoriel php 如何书写安全的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将从数据库返回所有的用户名和密码. 在大多数用户登录数据库的首个户名和密码组合都是管理员用户, 他干脆输入了几个符号作为管理员已登录你的网站, 果他们其实都知道的用户名和密码,他们会有同样的权力如。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel logiciel est Bonjour et peut-il être désinstallé ? Quel logiciel est Bonjour et peut-il être désinstallé ? Feb 20, 2024 am 09:33 AM

Titre : Explorez le logiciel Bonjour et comment le désinstaller Résumé : Cet article présentera les fonctions, le champ d'utilisation et comment désinstaller le logiciel Bonjour. Parallèlement, il sera également expliqué comment utiliser d'autres outils pour remplacer Bonjour afin de répondre aux besoins des utilisateurs. Introduction : Bonjour est un logiciel courant dans le domaine de la technologie informatique et réseau. Bien que cela puisse paraître peu familier à certains utilisateurs, cela peut être très utile dans certaines situations spécifiques. Si le logiciel Bonjour est installé mais que vous souhaitez maintenant le désinstaller, alors

Que faire si WPS Office ne peut pas ouvrir le fichier PPT - Que faire si WPS Office ne peut pas ouvrir le fichier PPT Que faire si WPS Office ne peut pas ouvrir le fichier PPT - Que faire si WPS Office ne peut pas ouvrir le fichier PPT Mar 04, 2024 am 11:40 AM

Récemment, de nombreux amis m'ont demandé quoi faire si WPSOffice ne pouvait pas ouvrir les fichiers PPT. Ensuite, apprenons comment résoudre le problème de l'incapacité de WPSOffice à ouvrir les fichiers PPT. J'espère que cela pourra aider tout le monde. 1. Ouvrez d'abord WPSOffice et accédez à la page d'accueil, comme indiqué dans la figure ci-dessous. 2. Saisissez ensuite le mot-clé « réparation de documents » dans la barre de recherche ci-dessus, puis cliquez pour ouvrir l'outil de réparation de documents, comme indiqué dans la figure ci-dessous. 3. Importez ensuite le fichier PPT pour réparation, comme indiqué dans la figure ci-dessous.

Quel logiciel est CrystalDiskmark ? -Comment utiliser crystaldiskmark ? Quel logiciel est CrystalDiskmark ? -Comment utiliser crystaldiskmark ? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark est un petit outil de référence pour disques durs qui mesure rapidement les vitesses de lecture/écriture séquentielles et aléatoires. Ensuite, laissez l'éditeur vous présenter CrystalDiskMark et comment utiliser crystaldiskmark~ 1. Introduction à CrystalDiskMark CrystalDiskMark est un outil de test de performances de disque largement utilisé pour évaluer la vitesse et les performances de lecture et d'écriture des disques durs mécaniques et des disques SSD (SSD). ). Performances d’E/S aléatoires. Il s'agit d'une application Windows gratuite qui fournit une interface conviviale et divers modes de test pour évaluer différents aspects des performances du disque dur. Elle est largement utilisée dans les revues de matériel.

Tutoriel d'utilisation de CrystalDiskinfo – Quel logiciel est CrystalDiskinfo ? Tutoriel d'utilisation de CrystalDiskinfo – Quel logiciel est CrystalDiskinfo ? Mar 18, 2024 pm 04:50 PM

CrystalDiskInfo est un logiciel utilisé pour vérifier les périphériques matériels informatiques. Dans ce logiciel, nous pouvons vérifier notre propre matériel informatique, tel que la vitesse de lecture, le mode de transmission, l'interface, etc. ! Alors en plus de ces fonctions, comment utiliser CrystalDiskInfo et qu'est-ce que CrystalDiskInfo exactement ? Laissez-moi faire le tri pour vous ! 1. L'origine de CrystalDiskInfo En tant que l'un des trois composants principaux d'un ordinateur hôte, un disque SSD est le support de stockage d'un ordinateur et est responsable du stockage des données informatiques. Un bon disque SSD peut accélérer la lecture et la lecture des fichiers. affecter l’expérience du consommateur. Lorsque les consommateurs reçoivent de nouveaux appareils, ils peuvent utiliser des logiciels tiers ou d'autres disques SSD pour

Comment définir l'incrément du clavier dans Adobe Illustrator CS6 - Comment définir l'incrément du clavier dans Adobe Illustrator CS6 Comment définir l'incrément du clavier dans Adobe Illustrator CS6 - Comment définir l'incrément du clavier dans Adobe Illustrator CS6 Mar 04, 2024 pm 06:04 PM

De nombreux utilisateurs utilisent le logiciel Adobe Illustrator CS6 dans leurs bureaux, alors savez-vous comment définir l'incrément du clavier dans Adobe Illustrator CS6. Ensuite, l'éditeur vous proposera la méthode de définition de l'incrément du clavier dans Adobe Illustrator CS6. jetez un oeil ci-dessous. Étape 1 : Démarrez le logiciel Adobe Illustrator CS6, comme indiqué dans la figure ci-dessous. Étape 2 : Dans la barre de menu, cliquez successivement sur la commande [Modifier] → [Préférences] → [Général]. Étape 3 : La boîte de dialogue [Incrément du clavier] apparaît, entrez le nombre requis dans la zone de texte [Incrément du clavier] et enfin cliquez sur le bouton [OK]. Étape 4 : utilisez la touche de raccourci [Ctrl]

Comment résoudre une tentative de chargement d'un logiciel incompatible avec Edge ? Comment résoudre une tentative de chargement d'un logiciel incompatible avec Edge ? Mar 15, 2024 pm 01:34 PM

Lorsque nous utilisons le navigateur Edge, il arrive parfois que des logiciels incompatibles tentent d'être chargés ensemble, alors que se passe-t-il ? Laissez ce site présenter soigneusement aux utilisateurs comment résoudre le problème lié à la tentative de chargement de logiciels incompatibles avec Edge. Comment résoudre le problème de la tentative de chargement d'un logiciel incompatible avec Edge Solution 1 : Recherchez IE dans le menu Démarrer et accédez-y directement avec IE. Solution 2 : Remarque : La modification du registre peut entraîner une panne du système, alors soyez prudent. Modifiez les paramètres du registre. 1. Entrez regedit pendant le fonctionnement. 2. Recherchez le chemin\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Micros

Quel type de logiciel est bonjour ? Quel type de logiciel est bonjour ? Feb 22, 2024 pm 08:39 PM

Bonjour est un protocole réseau et un logiciel lancé par Apple pour découvrir et configurer les services réseau au sein d'un réseau local. Son rôle principal est de découvrir et de communiquer automatiquement entre les appareils connectés au même réseau. Bonjour a été introduit pour la première fois dans la version MacOSX10.2 en 2002 et est désormais installé et activé par défaut dans le système d'exploitation d'Apple. Depuis lors, Apple a ouvert la technologie Bonjour à d'autres fabricants, de sorte que de nombreux autres systèmes d'exploitation et appareils peuvent également prendre en charge Bonjour.

Comment supprimer complètement les virus des téléphones mobiles Méthodes recommandées pour lutter contre les virus sur les téléphones mobiles Comment supprimer complètement les virus des téléphones mobiles Méthodes recommandées pour lutter contre les virus sur les téléphones mobiles Feb 29, 2024 am 10:52 AM

Une fois qu'un téléphone mobile est infecté par un certain virus cheval de Troie, il ne peut pas être détecté et tué par un logiciel antivirus. Ce principe est similaire à celui d'un ordinateur infecté par un virus tenace. Le virus ne peut être complètement supprimé qu'en formatant le lecteur C et en le supprimant. réinstaller le système, puis j'expliquerai comment nettoyer complètement le virus une fois que le téléphone mobile est infecté par un virus tenace. Méthode 1 : ouvrez le téléphone et cliquez sur « Paramètres » - Autres paramètres - « Restaurer le téléphone » pour restaurer les paramètres d'usine du téléphone. Remarque : Avant de restaurer les paramètres d'usine, vous devez sauvegarder les données importantes du téléphone. Les paramètres d'usine sont équivalents. à celles de l'ordinateur. "C'est la même chose que le formatage et la réinstallation du système." Après la récupération, les données du téléphone seront effacées. Méthode 2 (1) Éteignez d'abord le téléphone, puis appuyez et maintenez le "bouton d'alimentation". " + "bouton volume + ou bouton volume -" sur le téléphone en même temps.

See all articles