| 关键词: PHP images SERVER gif UpLoadFiles Apache NewsPhoto 扩展名 程序 chat |
作者:PHP环境:WinXp Pro + Apache 2.0.49 + PHP 4.3.5 (Module) 将没有扩展名的PHP代码,给PHP解释器解释,好处在于大大增加了安全性,给入侵的人、盗链的人,增加了迷惑性。例如: http://www.msger.net/chat?username=Hackfan/UpLoadFiles/NewsPhoto/gesatest.webp 从一般认识来看,上文的2个URL很有可能是这样的: /|-chat/????? |-index.php|-images/????? |-test.gif 但是Apache + PHP可以让chat、images变成一个PHP程序,而把后面的部分作为参数。事实上,这2个URL很有可能: /|-chat.??? (PHP File)|-images.? (PHP File)|-imagessecret/? (Directory) 而/UpLoadFiles/NewsPhoto/gesatest.gif将交给images这个PHP程序来处理。下面给出这个程序的部分环境变量: _SERVER["REQUEST_URI"] = /images/test.gif_SERVER["SCRIPT_NAME"] = /images _SERVER["PATH_INFO"]?? = /test.webp _SERVER["PHP_SELF"]??? = /images/test.webp 大家注意到了,Apache除了对_SERVER["SCRIPT_NAME"]有正确的判断以外,其他的信息几乎都是被我们欺骗了。不知道大家想到利用这个性质我们可以做什么,反正我想到了可以防止图片被盗链。 另外,找遍了很多资料,最后还是通过自己,使得Apache能够对没有扩展名的PHP文件进行正确的解释: 修改httpd.conf,找到,增加:DefaultType application/x-httpd-php 最后一些遗留问题: 对于/UpLoadFiles/NewsPhoto/a..atest.gif这类的请求,服务器会如何处理呢?不要用IE发送这样的请求,因为IE自动会处理。 欢迎有兴趣的朋友和我交流,QQ: 106814 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|