Maison développement back-end tutoriel php 判断是不是合符规格的url

判断是不是合符规格的url

Jun 13, 2016 am 10:43 AM
intval localhost type

判断是否合符规格的url
http://localhost/photo.php?type=1&id=0

最近看一下黑客教程 说什么 在 这些URL 后面 加入 一些 1=1 这些条件可以实现什么SQL 注入问题
现在 我想以上的photo.php 文件被访问的时候, 程序检查是否合符规格,‘type=’ 和‘id=’ 后面只能跟数字。在id后面不能有其他的参数,比如: 
http://localhost/photo.php?type=1&id=0&1=1 
这样


请各位指点一下 谢谢

------解决方案--------------------
使用intval 或者正则对提交的内容根据最终目的类型进行过滤。判断提交内容的长度...
当然前提是涉及到数据库的操作时.如果你这个参数都没有参与数据库的相关操作那么可以不需要这么紧张啦.
------解决方案--------------------
对数据进行转义是必要的手段。不光是对数据的有效性的判断
------解决方案--------------------
哪用得着正则啊。is_numeric()就能判断是否为数字。
------解决方案--------------------
若是整型的直接强制转换(int)$var;这样不是更省事!至于字符窜类型的,得用过滤之类的手段了
------解决方案--------------------
对输入数据做检查和过滤,基本是程序第一步要做的事情...其实楼主你一定已经做过很多了...
不要被那些黑客教程吓着,没有被程序使用的输入,不会对安全有任何危害

至于用intval, (int) 还是is_numeric 或是正则,完全取决于你的需求,

注意这些方法在特殊输入时有可能产生不同效果,
比如在输入小数时?负数时?十六进制,八进制数时?以数字开头却包含字母时?
结果是有可能不同,然后可能导致程序走向不同的分支.

最好的方法就是多测试.

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)

Pourquoi MySQL ne peut-il pas se connecter à localhost ? Pourquoi MySQL ne peut-il pas se connecter à localhost ? Aug 10, 2023 pm 02:55 PM

Les raisons pour lesquelles MySQL ne peut pas se connecter à localhost sont que le service MySQL n'est pas démarré, que le port MySQL est occupé et qu'il y a un problème avec le fichier de configuration MySQL. Introduction détaillée : 1. Dans les systèmes Windows, vous pouvez ouvrir le gestionnaire de services en saisissant « services.msc » à l'invite de commande, puis rechercher le service mysql et vous assurer que son état est « En cours d'exécution ». Dans les systèmes Linux, vous pouvez utiliser la commande « services.msc » pour vérifier et contrôler l'état du service ; 2. Vous pouvez utiliser la commande open et ainsi de suite.

Que dois-je faire si localhost ne peut pas être ouvert ? Que dois-je faire si localhost ne peut pas être ouvert ? Nov 07, 2023 pm 02:47 PM

Solution : 1. Vérifiez l'état de fonctionnement du serveur et assurez-vous qu'il écoute sur le bon port ; 2. Essayez de désactiver temporairement le pare-feu ou le logiciel de sécurité, puis essayez à nouveau d'accéder à localhost ; système d'exploitation pour vous assurer que localhost est correctement résolu ; 4. Essayez de redémarrer la carte réseau ou de reconfigurer la connexion réseau ; 5. Essayez de modifier le port utilisé par le serveur local ou fermez les autres programmes qui occupent le même port ; pour ajouter manuellement l'adresse IP et le nom de domaine correspondants dans le fichier hosts, etc.

Quelles sont les utilisations du mot-clé Type dans Go ? Quelles sont les utilisations du mot-clé Type dans Go ? Sep 06, 2023 am 09:58 AM

L'utilisation du mot-clé Type dans Go inclut la définition de nouveaux alias de type ou la création de nouveaux types de structure. Introduction détaillée : 1. Alias ​​de type. Utilisez le mot-clé "type" pour créer un alias pour un type existant. Cet alias ne crée pas un nouveau type, mais fournit uniquement un nouveau nom pour le type existant. Les alias de type peuvent améliorer le code. la lisibilité du code rend le code plus clair ; 2. Type de structure Utilisez le mot-clé "type" pour créer un nouveau type de structure qui peut être utilisé pour définir des types personnalisés contenant plusieurs champs, etc.

Que signifie Linux localhost ? Que signifie Linux localhost ? Mar 14, 2023 am 09:53 AM

linux localhost signifie « nom d'hôte de l'ordinateur ». Le nom d'hôte est utilisé pour identifier un ordinateur indépendant sur le réseau ; la racine dans « root@localhost » représente l'utilisateur actuellement connecté. Sous Linux, le compte administrateur est root et le compte. l'utilisateur est root. Connectez-vous à la machine Linux en tant qu'utilisateur.

Résoudre l'erreur de montage du disque dur mobile Ubuntu : type de système de fichiers inconnu exfat Résoudre l'erreur de montage du disque dur mobile Ubuntu : type de système de fichiers inconnu exfat Jan 05, 2024 pm 01:18 PM

Une erreur se produit lorsque Ubuntu monte un disque dur mobile : mount: unknownfilesystemtype'exfat' La méthode de traitement est la suivante : Ubuntu13.10 ou installez exfat-fuse : sudoapt-getinstallexfat-fuseUbuntu13.04 ou version antérieure sudoapt-add-repositoryppa:relan. /exfatsudoapt-getupdatesudoapt-getinstallfuse- exfatCentOS Linux montage solution d'erreur de disque USB au format exfat pour charger extfa dans CentOS

Commandes de type Linux Commandes de type Linux Mar 20, 2024 pm 05:06 PM

Dans ce guide, nous en apprendrons plus sur la commande « type » sous Linux. Conditions préalables : Pour effectuer les étapes illustrées dans ce guide, vous avez besoin des composants suivants : Un système Linux correctement configuré. Découvrez comment créer une LinuxVM à des fins de test et d'apprentissage. Compréhension de base de l'interface de ligne de commande La commande Type sous Linux est différente des autres commandes spécifiques à Linux (par exemple : ls, chmod, shutdown, vi, grep, pwd, etc.). Fonction Bash affichée en tant qu'argument. Informations sur le type de commande fourni. $type En plus de Bash, d'autres shells (Zsh, Ksh, etc.) sont également livrés avec

Quelles informations sont requises lors de l'enregistrement d'un compte Deepseek? Quelles informations sont requises lors de l'enregistrement d'un compte Deepseek? Mar 12, 2025 pm 02:33 PM

Informations requises: 1. Enregistrement par e-mail; 2. Enregistrement du numéro de téléphone portable; 3. Enregistrement de la plate-forme sociale tiers. Après une inscription réussie, vous devez généralement remplir certaines informations personnelles de base, comme le surnom, le sexe, l'anniversaire, etc.

Comment résoudre l'erreur « [Vue warn] : accessoire non valide : vérification de type » Comment résoudre l'erreur « [Vue warn] : accessoire non valide : vérification de type » Aug 26, 2023 pm 10:40 PM

Comment réparer l'erreur « [Vuewarn]:Invalidprop:typecheck » Vue.js est un framework JavaScript populaire pour la création d'interfaces utilisateur. Lors du développement d'applications à l'aide de Vue.js, nous rencontrons parfois des messages d'erreur, dont "[Vuewarn]:Invalidprop:typecheck". Cette erreur est généralement causée par une utilisation incorrecte des attributs dans le composant

See all articles