php对url保险过滤处理

WBOY
發布: 2016-06-13 13:10:50
原創
812 人瀏覽過

php对url安全过滤处理

preg_match_all( '/([0-9])=([\%\+\-\.\/0-9\=A-Z\_]+)/i', $_SERVER['QUERY_STRING'], $_GET );
$_GET = ( $_GET[0] ? array_combine( $_GET[1], $_GET[2] ) : array() ) + array_fill( 0, 10, '' );
登入後複製


现在你的 $_GET 只接受 0-9 的设置当然这些URL是很安全的

?0=123&1=456非法URL&2=789" AND xxx=1&3=0ABC&4=BASE64_CODE&5=URLENCODE

看看

可以接受的 URL [\%\+\-\.\/0-9\=A-Z\_]+

能理解把,并且已经对不存在的 设置 设置为 空防止出错

通常 isset( $_GET[0] ) 可以变为 $_GET[0] 没有警告信息了

已经把 $_GET   0-9   不存在的设置好了

啊 有人说  直接 变量不会有警告信息?? 我。。

解释  没有警告信息不代表没有生成警告信息

在前面把 错误汇报级别设置最高

error_reporting(8191);

你看看有吗 而且我对PHP错误信息做过结实和速度测试

请看 php解释为什么要用isset()

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!