Maison développement back-end tutoriel php Les débutants devraient développer de bonnes habitudes de sécurité en PHP : désactiver les invites d'erreur et la vérification stricte des données, etc.

Les débutants devraient développer de bonnes habitudes de sécurité en PHP : désactiver les invites d'erreur et la vérification stricte des données, etc.

Jul 17, 2017 am 11:22 AM
php 关闭

Lorsque vous utilisez PHP pour le développement Web, vous devez faire attention à certains éléments de configuration de sécurité et désactiver certaines fonctions pour empêcher les utilisateurs de causer par inadvertance divers problèmes.

1. Désactivez la fonction d'invite d'erreur php

Changez display_errors sur OFF dans php.ini, ou ajoutez error_reporting(0).

Utilisez error_reporting(0); Exemple d'échec :

<?php  
error_reporting(0);  
echo 555  
echo 444;  
?>
Copier après la connexion
Erreur :

Erreur d'analyse : erreur d'analyse, attente de « », » ou « ; » dans E:webphp2.php en ligne 4

De nombreux phpers disent que l'utilisation de error_reporting(0) ne fonctionne pas. Dans le premier exemple, il y a une erreur fatale dans A.php, qui empêche l'exécution. Si le serveur ne peut pas être exécuté, il ne sait pas qu'il a cette fonction, donc la même erreur est signalée.

2. Désactivez certaines "mauvaises fonctionnalités"

1) Désactivez la fonction des citations magiques


Mettez magic_quotes_gpc = OFF dans php.ini
Évitez et
addslashesAttendez les échappements répétés

2) Désactivez register_globals = Off

Mettez register_globals = OFF dans php.ini

Dans le cas de register_globals = ON

<?php  
//$bloger = $_GET[&#39;bloger&#39;]   
//因为register_globals = ON 所以这步不用了直接可以用$bloger  
echo $bloger;  
?>
Copier après la connexion
Cette situation entraînera la modification facile de certaines variables non initialisées, ce qui peut être fatal. Alors tournez register_globals = OFF

(3) Strictement

configurez les autorisations des fichiers .

Attribuez des autorisations aux dossiers correspondants. Par exemple, les fichiers contenant des images téléchargées ne peuvent pas avoir d'autorisations d'exécution et ne peuvent être lus

3. Vérification stricte des données, ce que nous devons faire est de vérifier strictement. le flux de données de contrôle, même si l'un des 100 millions d'utilisateurs est un mauvais utilisateur, cela suffit à être fatal. De plus, les bons utilisateurs deviennent parfois « mauvais » par inadvertance lorsqu'ils saisissent accidentellement le chinois dans la zone de saisie des données.

Afin de garantir la sécurité et la robustesse du programme, la vérification des données doit inclure

(1) L'existence de données clés. Par exemple, si l'identifiant des données supprimées existe

(2) Si le
type de données est correct. Par exemple, si l'identifiant des données supprimées est un entier(3) Longueur des données. Si le champ est de type char(10), strlen est requis pour déterminer la longueur des données
(4) Si les données contiennent des caractères dangereux

Problèmes de longueur des données, tels que le champ de création de table de base de données char(25 ), la plupart des PHPers se demandent si s'il est vide, le type de données est correct, mais la longueur des caractères est ignorée, c'est plutôt comme être trop paresseux pour juger de la longueur.

Je pense que le front-end a été vérifié à l'aide de js, et le back-end n'a pas besoin d'être jugé et vérifié. C'est également fatal. Vous devez savoir que cela ne prend que quelques minutes pour forger un formulaire. Le but de js est uniquement de réduire le nombre de soumissions d'utilisateurs, améliorant ainsi l'expérience utilisateur, réduisant les requêtes http et réduisant la pression sur le serveur. Dans cette situation, cela ne peut pas empêcher les "méchants". Bien sûr, si l'utilisateur légitime est parfait sous le contrôle de vérification js, mais en tant que PHPer, nous ne pouvons pas seulement avoir la vérification js et abandonner une autre vérification de sécurité.

Manque de validation pour certains attributs du formulaire tels que la sélection, la case à cocher, la radio, le bouton, etc. Les développeurs ont défini leurs valeurs et plages de valeurs (valeurs de liste blanche) sur la page Web. La vérification dans JS ne vérifie généralement pas, car les utilisateurs légitimes n'ont que le droit de choisir et de ne pas modifier, et PHPer ne vérifiera pas les données lorsqu'il acceptera les données dans le backend pour traiter les données de vérification. réflexion, et des problèmes de sécurité surviennent. Le méchant est une fausse forme.

Le nom de l'élément correspondant du formulaire est cohérent avec le nom du champ de la table de données. Par exemple, le champ du nom d'utilisateur de la table utilisateur est user_name, puis la zone de saisie du nom d'utilisateur dans le formulaire. est également user_name. Ce n'est pas différent de la base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP est un framework MVC open source. Cela facilite grandement le développement, le déploiement et la maintenance des applications. CakePHP dispose d'un certain nombre de bibliothèques pour réduire la surcharge des tâches les plus courantes.

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

See all articles