Maison php教程 php手册 比较好用的PHP防注入漏洞过滤函数代码

比较好用的PHP防注入漏洞过滤函数代码

Jun 13, 2016 pm 12:00 PM
php 代码 函数 复制 Comparer injection 漏洞 pratique 程序 mieux 过滤

复制代码 代码如下:


//PHP整站防注入程序,需要在公共文件中require_once本文件
//判断magic_quotes_gpc状态
if (@get_magic_quotes_gpc ()) {
$_GET = sec ( $_GET );
$_POST = sec ( $_POST );
$_COOKIE = sec ( $_COOKIE );
$_FILES = sec ( $_FILES );
}
$_SERVER = sec ( $_SERVER );
function sec(&$array) {
//如果是数组,遍历数组,递归调用
if (is_array ( $array )) {
foreach ( $array as $k => $v ) {
$array [$k] = sec ( $v );
}
} else if (is_string ( $array )) {
//使用addslashes函数来处理
$array = addslashes ( $array );
} else if (is_numeric ( $array )) {
$array = intval ( $array );
}
return $array;
}
//整型过滤函数
function num_check($id) {
if (! $id) {
die ( '参数不能为空!' );
} //是否为空的判断
else if (inject_check ( $id )) {
die ( '非法参数' );
} //注入判断
else if (! is_numetic ( $id )) {
die ( '非法参数' );
}
//数字判断
$id = intval ( $id );
//整型化
return $id;
}
//字符过滤函数
function str_check($str) {
if (inject_check ( $str )) {
die ( '非法参数' );
}
//注入判断
$str = htmlspecialchars ( $str );
//转换html
return $str;
}
function search_check($str) {
$str = str_replace ( "_", "\_", $str );
//把"_"过滤掉
$str = str_replace ( "%", "\%", $str );
//把"%"过滤掉
$str = htmlspecialchars ( $str );
//转换html
return $str;
}
//表单过滤函数
function post_check($str, $min, $max) {
if (isset ( $min ) && strlen ( $str ) die ( '最少$min字节' );
} else if (isset ( $max ) && strlen ( $str ) > $max) {
die ( '最多$max字节' );
}
return stripslashes_array ( $str );
}
//防注入函数
function inject_check($sql_str) {
return eregi ( 'select|inert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|UNION|into|load_file|outfile', $sql_str );
// www.jb51.net 进行过滤,防注入
}
function stripslashes_array(&$array) {
if (is_array ( $array )) {
foreach ( $array as $k => $v ) {
$array [$k] = stripslashes_array ( $v );
}
} else if (is_string ( $array )) {
$array = stripslashes ( $array );
}
return $array;
}
?>

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Grow A Garden - Guide de mutation complet
4 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
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)

Sujets chauds

Tutoriel Java
1677
14
Tutoriel PHP
1280
29
Tutoriel C#
1257
24
Que se passe-t-il si Session_Start () est appelé plusieurs fois? Que se passe-t-il si Session_Start () est appelé plusieurs fois? Apr 25, 2025 am 12:06 AM

Plusieurs appels vers session_start () se traduiront par des messages d'avertissement et d'éventuels remplacements de données. 1) PHP émettra un avertissement, ce qui incite la session à démarrer. 2) Il peut provoquer un écrasement inattendu des données de session. 3) Utilisez session_status () pour vérifier l'état de la session pour éviter les appels répétés.

La compatibilité de l'IIS et du PHP: une plongée profonde La compatibilité de l'IIS et du PHP: une plongée profonde Apr 22, 2025 am 12:01 AM

IIS et PHP sont compatibles et sont implémentés via FastCGI. 1.IIS Transforme la demande de fichier .php au module FastCGI via le fichier de configuration. 2. Le module FastCGI démarre le processus PHP pour traiter les demandes d'amélioration des performances et de la stabilité. 3. Dans les applications réelles, vous devez prêter attention aux détails de la configuration, débogage des erreurs et optimisation des performances.

Compositeur: aider le développement de PHP à travers l'IA Compositeur: aider le développement de PHP à travers l'IA Apr 29, 2025 am 12:27 AM

L'IA peut aider à optimiser l'utilisation du compositeur. Les méthodes spécifiques incluent: 1. Optimisation de la gestion des dépendances: AI analyse les dépendances, recommande la meilleure combinaison de versions et réduit les conflits. 2. Génération de code automatisée: AI génère des fichiers composer.json conformes aux meilleures pratiques. 3. Améliorer la qualité du code: l'IA détecte des problèmes potentiels, fournit des suggestions d'optimisation et améliore la qualité du code. Ces méthodes sont implémentées par l'apprentissage automatique et les technologies de traitement du langage naturel pour aider les développeurs à améliorer l'efficacité et la qualité du code.

Quelle est la signification de la fonction session_start ()? Quelle est la signification de la fonction session_start ()? May 03, 2025 am 12:18 AM

Session_Start () IsCrucialInPhpFormanAgingUsersessions.1) ItinitiateSanEwSessionIfNoneExists, 2) ConsomaSanExistingSession, and3) SetSasessionCooKieforContinuityAcrossrequests, permettant aux applications liées à la réaction et à la personne.

PHP et IIS: les faire travailler ensemble PHP et IIS: les faire travailler ensemble Apr 21, 2025 am 12:06 AM

La configuration et l'exécution de PHP sur IIS nécessitent les étapes suivantes: 1) Télécharger et installer PHP, 2) Configurer IIS et ajout de module FastCGI, 3) Créer et configurer un pool d'applications, 4) Créer un site Web et lier à un pool d'applications. Grâce à ces étapes, vous pouvez facilement déployer des applications PHP sur votre serveur Windows et améliorer la stabilité et l'efficacité des applications en configurant la mise à l'échelle et l'optimisation des performances.

Comment utiliser les fonctions MySQL pour le traitement et le calcul des données Comment utiliser les fonctions MySQL pour le traitement et le calcul des données Apr 29, 2025 pm 04:21 PM

Les fonctions MySQL peuvent être utilisées pour le traitement et le calcul des données. 1. L'utilisation de base comprend le traitement des chaînes, le calcul de la date et les opérations mathématiques. 2. L'utilisation avancée consiste à combiner plusieurs fonctions pour implémenter des opérations complexes. 3. L'optimisation des performances nécessite d'éviter l'utilisation de fonctions dans la clause où et d'utiliser des tables groupby et temporaires.

H5: Améliorations clés de HTML5 H5: Améliorations clés de HTML5 Apr 28, 2025 am 12:26 AM

HTML5 apporte cinq améliorations clés: 1. Les balises sémantiques améliorent la clarté du code et les effets SEO; 2. Prise en charge multimédia simplifie la vidéo et la formation audio; 3. L'amélioration du formulaire simplifie la vérification; 4. Le stockage hors ligne et local améliore l'expérience utilisateur; 5. Canvas et fonctions graphiques améliorent la visualisation des pages Web.

Compositeur: le gestionnaire de packages pour les développeurs PHP Compositeur: le gestionnaire de packages pour les développeurs PHP May 02, 2025 am 12:23 AM

Composer est un outil de gestion des dépendances pour PHP et gère les dépendances du projet via le fichier composer.json. 1) Parse Composer.json pour obtenir des informations de dépendance; 2) analyser les dépendances pour former un arbre de dépendance; 3) Télécharger et installer les dépendances de Packagist au répertoire du fournisseur; 4) Générez le fichier composer.lock pour verrouiller la version de dépendance pour assurer la cohérence de l'équipe et la maintenabilité du projet.

See all articles