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

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

WBOY
WBOY원래의
2016-05-25 16:41:001291검색

我们举例只讲linux的系统,但是防止方法在任何系统都是有效的,下面我们先来看看等操作,你可以这样使用,代码如下:

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

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

http://www.phprm.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으로 문의하세요.