“按月存放”附件时,如何防止恶意用户列表显示的改进版 Unknown 2009/05/29

| |

前面在《“按月存放”附件时,如何防止恶意用户列表显示?》一文中,提出了“为了安全,防止恶意用户进行列表显示目录下的所有文件”,我们对admin目录下的cp_upload.php进行了改动,增加了一行:else touch($targetfolder."/index.php");

这是为了当不存在目录进行新建时,顺便touch一个index.php进去。按照touch命令的规则,当文件不存在时,相当于新建一个空文件,所以这个index.php的内容的效果是一片空白,什么也不显示。

今天提到改进版,是因为这样显示一片空白太无趣了,对方也觉得没有意思,所以我动点脑筋,让这个页面弄得好意思点,同时可以放点Google广告上去,访问者愿意帮我点几下广告是他的事。经过一番实验,实现了。下面来谈谈如何做。

1、在attachment目录下新建一个index.php。当然,这是为了防止attachment目录被人列表访问。

2、修改admin/cp_upload.php,在原来else touch($targetfolder."/index.php");的地方,改为else copy("attachment/index.php", $targetfolder."/index.php");。这句话的意思是,将attachment目录下的index.php复制到当前月份的目录下去。如果不明白的,请参见下面的图。

这样就OK了。当然,记得检查你当前的所有月份目录下,是否有index.php。没有的话,人工加上去。对于新的月份,你就得检查,上面的修改有没有帮你自动生成index.php。

有兴趣的话,可访问一下 http://spyrise.org/blog/attachment/http://spyrise.org/blog/attachment/200905/ 看看。

请给这篇日志评个分吧~!

本文评分: 4.3/10 (24 votes)    提示:您还未对本文评分,您可以进行评分并发表您的意见!

加入收藏!

myogg IP
2009/05/29 15:12
这个功能不错。不知道其他的程序能用吗?有空帮我看看phpbb3的风格。
spyrise 回复于 2009/05/29 15:48
phpbb3没用过。。。是论坛吗?现在国内都用discuz5.0了。
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [注册]