我们举例只讲linux的系统,但是防止方法在任何系统都是有效的,下面我们先来看看等操作
你可以这样使用
代码如下 | 复制代码 |
http://www.xxx.com/index.php?page=../etc/passwd 获取更多数据: |
像上面代码,如果你是
?page=$_GET的话这样就完了,分析原因,因为我们分页只有数字,那么我们这样操作
代码如下 | 复制代码 |
?page=intval($_GET); |
这样就无法把字符提交了,我们利用了intval函数进行了过滤,那么对于提交字符怎么处理呢。
在处理字符时我们利用php自带函数的函数 addslashes和htmlspecialchars进行过滤,
如
代码如下 | 复制代码 |
$body = htmlspecialchars(isset($_GET[$str])?$_GET[$str]:''); |
这样就基本过滤了各种安全注入,当然如果你服务器有漏洞在php上是解决不了的。