首頁 >php教程 >php手册 >linux防止php 伪造本地文件解决方法

linux防止php 伪造本地文件解决方法

WBOY
WBOY原創
2016-06-13 10:12:051114瀏覽

我们举例只讲linux的系统,但是防止方法在任何系统都是有效的,下面我们先来看看等操作


你可以这样使用

 代码如下 复制代码

http://www.xxx.com/index.php?page=../etc/passwd
http://www.xxx.com/index.php?page=../../../etc/passwd
http://www.xxx.com/index.php?page=..../../etc/passwd

获取更多数据:
etc/profile
etc/services
/etc/passwd
/etc/shadow
/etc/group
/etc/security/group
/etc/security/passwd
/etc/security/user
/etc/security/environ
/etc/security/limits
/usr/lib/security/mkuser.default


像上面代码,如果你是

?page=$_GET的话这样就完了,分析原因,因为我们分页只有数字,那么我们这样操作

 代码如下 复制代码

?page=intval($_GET);

这样就无法把字符提交了,我们利用了intval函数进行了过滤,那么对于提交字符怎么处理呢。

在处理字符时我们利用php自带函数的函数 addslashes和htmlspecialchars进行过滤,

 代码如下 复制代码

$body = htmlspecialchars(isset($_GET[$str])?$_GET[$str]:'');

这样就基本过滤了各种安全注入,当然如果你服务器有漏洞在php上是解决不了的。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn