> 백엔드 개발 > PHP 튜토리얼 > 判断是不是合符规格的url

判断是不是合符规格的url

WBOY
풀어 주다: 2016-06-13 13:17:48
원래의
1051명이 탐색했습니다.

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

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

最好的方法就是多测试.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿