首页 > 网站 > 建站经验 > 正文

phpwind教程:浅谈PHPWind安全部署之文件读写删

2024-04-25 20:34:16
字体:
来源:转载
供稿:网友

关于PW后台安全还有很多,比如 隐藏Data 增强网站安全性,data目录隐藏功能设置详解,大家可以看看。

比如安全问题设置,登录后台的用户必须有安全问题验证,比如前后台帐号分开,即使前台是管理员,可能后台都进不去。比如后台管理地址可以任意更改,默认是admin.php,如果你直接改为: '我不知道.php',猜想你的后台地址也要耗精力,而你修改仅仅是键盘输入加一个回车就搞定。。。。。

不过今天不说后台安全,更多的等待大家挖掘,说说文件读写删,文件读、写、删除、判断文件存在的安全 (readover、writeover、unlink、file_exists),可以看下这两个函数的讲解:{0828}PW读写函数之writeover{0208} {0829}PW读写函数之readover{0209}

function writeover($filename,$data,$method='rb+',$iflock=1,$check=1,$chmod=1){

//Copyright (c) 2003-09 PHPWind

$check && strpos($filename,'..')!==false && exit('Forbidden');

touch($filename);

$handle = fopen($filename,$method);

$iflock && flock($handle,LOCK_EX);

fwrite($handle,$data);

$method=='rb+' && ftruncate($handle,strlen($data));

fclose($handle);

$chmod && @chmod($filename,0777);

}

PW在用这些函数的时全部禁止../ 的提交,当你执行如下片段的时候

$read=readover('../../licence.txt','rb');

writeover('../../aaa.txt',$read);

只会给你一个大 Forbidden,这样在某种程度来说可以保证了构造注入的安全。

并且这里也建议插件开发的朋友,在开发插件的时候即使你不用writeover,也别用到../ 目录层方式来提交数据。在一些邮件程序里经常会在这个BUG,要是把file这个变量换成./../甚至更上层呢?目录就这样被遍历了。

说的遍历目录,还想到一个反斜杆的问,对于/和/的过滤这个问题程序员应该很常见,很容易忽略很容易出问题,不怕过滤时漏掉什么,而是怕你想不起要去过滤。

在国外流行一句话叫:All puts is invalid。也许真的就是这样,所有输入都是有害的。

当然!~,程序安全还要以服务器安全为前提,如果FTP或者root权限都被人知道了,谈程序安全就没有什么意义了。

时间关系,今天的抛砖引玉就写到这里,有空将继续和大家分享:include(),require()和 fopen(),include_once(),require_once(),这些都可以远程调用文件,对于它们的危害,google搜一下你就会很明 了。

注:一些相关PHP安全大家可以查看谷歌,本文的部分资料参考网络。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表