Rumah pembangunan bahagian belakang tutorial 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 或是正则,完全取决于你的需求,

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

最好的方法就是多测试.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mengapa mysql tidak boleh menyambung ke localhost? Mengapa mysql tidak boleh menyambung ke localhost? Aug 10, 2023 pm 02:55 PM

Mengapa mysql tidak boleh menyambung ke localhost?

Apakah yang perlu saya lakukan jika localhost tidak boleh dibuka? Apakah yang perlu saya lakukan jika localhost tidak boleh dibuka? Nov 07, 2023 pm 02:47 PM

Apakah yang perlu saya lakukan jika localhost tidak boleh dibuka?

Apakah kegunaan kata kunci Jenis dalam Go? Apakah kegunaan kata kunci Jenis dalam Go? Sep 06, 2023 am 09:58 AM

Apakah kegunaan kata kunci Jenis dalam Go?

Apakah maksud linux localhost? Apakah maksud linux localhost? Mar 14, 2023 am 09:53 AM

Apakah maksud linux localhost?

Selesaikan ralat cakera keras mudah alih pemasangan Ubuntu: exfat jenis sistem fail tidak diketahui Selesaikan ralat cakera keras mudah alih pemasangan Ubuntu: exfat jenis sistem fail tidak diketahui Jan 05, 2024 pm 01:18 PM

Selesaikan ralat cakera keras mudah alih pemasangan Ubuntu: exfat jenis sistem fail tidak diketahui

Maklumat apa yang diperlukan semasa mendaftarkan akaun DeepSeek? Maklumat apa yang diperlukan semasa mendaftarkan akaun DeepSeek? Mar 12, 2025 pm 02:33 PM

Maklumat apa yang diperlukan semasa mendaftarkan akaun DeepSeek?

Perintah jenis Linux Perintah jenis Linux Mar 20, 2024 pm 05:06 PM

Perintah jenis Linux

Apakah perbezaan antara projek maven pemilihan Jenis dan maven pom apabila mencipta projek SpringBoot dengan idea? Apakah perbezaan antara projek maven pemilihan Jenis dan maven pom apabila mencipta projek SpringBoot dengan idea? May 16, 2023 pm 04:52 PM

Apakah perbezaan antara projek maven pemilihan Jenis dan maven pom apabila mencipta projek SpringBoot dengan idea?

See all articles