首页建站经验 phpwind教程:浅谈PHPWind安全部署之文件读写删

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

关于PW后台安全还有很多,比如 隐藏Data 增强网站安全性,data目录隐藏功能设置详解,大家可以看看。比如安全问题设置,登录后台的用户必须有安全问题验证,比如前后台帐号分开,即使前…

关于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安全大家可以查看谷歌,本文的部分资料参考网络。

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/16703.html
上一篇Javascript进制转换实例分析
下一篇 phpwind9.0网站模板制作教程:制作论坛风格
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部