Heim Backend-Entwicklung PHP-Tutorial 判断是不是合符规格的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 或是正则,完全取决于你的需求,

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

最好的方法就是多测试.

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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 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)

Warum kann MySQL keine Verbindung zu Localhost herstellen? Warum kann MySQL keine Verbindung zu Localhost herstellen? Aug 10, 2023 pm 02:55 PM

Die Gründe, warum MySQL keine Verbindung zu Localhost herstellen kann, sind, dass der MySQL-Dienst nicht gestartet ist, der MySQL-Port belegt ist und ein Problem mit der MySQL-Konfigurationsdatei vorliegt. Detaillierte Einführung: 1. In Windows-Systemen können Sie den Dienst-Manager öffnen, indem Sie an der Eingabeaufforderung „services.msc“ eingeben, dann den MySQL-Dienst suchen und sicherstellen, dass sein Status „Wird ausgeführt“ ist. In Linux-Systemen können Sie den Befehl „services.msc“ verwenden, um den Dienststatus zu überprüfen und zu steuern. Sie können den Befehl „open“ usw. verwenden.

Was soll ich tun, wenn localhost nicht geöffnet werden kann? Was soll ich tun, wenn localhost nicht geöffnet werden kann? Nov 07, 2023 pm 02:47 PM

Lösung: 1. Überprüfen Sie den Betriebsstatus des Servers und stellen Sie sicher, dass er den richtigen Port überwacht. 2. Versuchen Sie, die Firewall oder Sicherheitssoftware vorübergehend zu deaktivieren, und versuchen Sie dann erneut, auf localhost zuzugreifen 4. Versuchen Sie, den Netzwerkadapter neu zu starten oder die Netzwerkverbindung neu zu konfigurieren. 5. Versuchen Sie, den vom lokalen Server verwendeten Port zu ändern, oder schließen Sie andere Programme, die denselben Port belegen um die entsprechende IP-Adresse und den Domänennamen manuell in die Hosts-Datei usw. einzufügen.

Beheben Sie den Ubuntu-Fehler beim Mounten der mobilen Festplatte: unbekannter Dateisystemtyp exfat Beheben Sie den Ubuntu-Fehler beim Mounten der mobilen Festplatte: unbekannter Dateisystemtyp exfat Jan 05, 2024 pm 01:18 PM

Beim Mounten einer mobilen Festplatte durch Ubuntu tritt ein Fehler auf: mount: unlimitedfilesystemtype'exfat'. Die Verarbeitungsmethode lautet wie folgt: Ubuntu13.10 oder exfat-fuse installieren: sudoapt-getinstallexfat-fuseUbuntu13.04 oder niedriger sudoapt-add-repositoryppa:relan /exfatsudoapt-getupdatesudoapt-getinstallfuse- exfatCentOS Linux Fehler beim Mounten des USB-Datenträgers im Exfat-Format zum Laden von extfa in CentOS

Wozu dient das Type-Schlüsselwort in Go? Wozu dient das Type-Schlüsselwort in Go? Sep 06, 2023 am 09:58 AM

Die Verwendung des Type-Schlüsselworts in Go umfasst das Definieren neuer Typaliase oder das Erstellen neuer Strukturtypen. Detaillierte Einführung: 1. Verwenden Sie das Schlüsselwort „type“, um einen neuen Typ zu erstellen, sondern nur einen neuen Namen für den vorhandenen Typ bereitzustellen Die Lesbarkeit des Codes macht den Code klarer. 2. Verwenden Sie das Schlüsselwort „type“, um einen neuen Strukturtyp zu erstellen, der zum Definieren benutzerdefinierter Typen mit mehreren Feldern verwendet werden kann.

Was bedeutet Linux Localhost? Was bedeutet Linux Localhost? Mar 14, 2023 am 09:53 AM

Linux Localhost bedeutet „Computer-Hostname“. Der Hostname wird verwendet, um einen unabhängigen Computer im Netzwerk zu identifizieren. Der Root in „root@localhost“ stellt den aktuell angemeldeten Benutzer dar Der Benutzer ist Root. Melden Sie sich als Benutzer am Linux-Computer an.

Befehle vom Typ Linux Befehle vom Typ Linux Mar 20, 2024 pm 05:06 PM

In dieser Anleitung erfahren wir mehr über den Befehl „type“ unter Linux. Voraussetzungen: Um die in diesem Handbuch gezeigten Schritte ausführen zu können, benötigen Sie die folgenden Komponenten: Ein ordnungsgemäß konfiguriertes Linux-System. Erfahren Sie, wie Sie eine LinuxVM zu Test- und Lernzwecken erstellen. Grundlegendes Verständnis der Befehlszeilenschnittstelle Der Type-Befehl in Linux unterscheidet sich von anderen Linux-spezifischen Befehlen (z. B. ls, chmod, Shutdown, vi, grep, pwd usw.). Der „type“-Befehl ist integriert Bash-Funktion, die als Argument angezeigt wird. Informationen zum bereitgestellten Befehlstyp. $type Neben Bash sind auch andere Shells (Zsh, Ksh usw.) im Lieferumfang enthalten

Welche Informationen sind bei der Registrierung eines Deepseek -Kontos erforderlich? Welche Informationen sind bei der Registrierung eines Deepseek -Kontos erforderlich? Mar 12, 2025 pm 02:33 PM

Erforderliche Informationen: 1. E-Mail-Registrierung; Nach erfolgreicher Registrierung müssen Sie normalerweise einige grundlegende persönliche Daten wie Spitzname, Geschlecht, Geburtstag usw. ausfüllen.

Was sind die Prinzipien und die Verwendung der Redis-Typ- und Kodierungskodierung? Was sind die Prinzipien und die Verwendung der Redis-Typ- und Kodierungskodierung? May 29, 2023 pm 04:21 PM

Zusammenfassung Redis ist eine Open-Source-Hochleistungs-Schlüsselwertdatenbank, die in verschiedenen Szenarien weit verbreitet ist. In Redis sind Datentyp (Typ) und Kodierung (Kodierung) sehr wichtige Konzepte. In diesem Blog werden die von Redis unterstützten Datentypen sowie die entsprechenden Codierungsmethoden und zugrunde liegenden Implementierungsprinzipien ausführlich vorgestellt. Um die interne Codierung eines Redis-Schlüssels anzuzeigen, können Sie den Redis-Befehl OBJECTENCODINGkey verwenden. Unter diesen ist der Schlüssel der Schlüsselname, den Sie abfragen möchten. Wenn Sie beispielsweise die interne Kodierung eines Schlüssels namens mykey abfragen möchten, können Sie den folgenden Befehl ausführen: 127.0.0.1:6379>objectencodin

See all articles