对于无扩展名的PHP程序的研究

王朝php·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

对于无扩展名的PHP程序的研究

作者:PHP

环境:WinXp Pro + Apache 2.0.49 + PHP 4.3.5 (Module)

将没有扩展名的PHP代码,给PHP解释器解释,好处在于大大增加了安全性,给入侵的人、盗链的人,增加了迷惑性。例如:

http://www.msger.net/chat?username=Hackfan

http://www.msger.net/images/test.gif

从一般认识来看,上文的2个URL很有可能是这样的:

/

|-chat/

|-index.php

|-images/

|-test.gif

但是Apache + PHP可以让chat、images变成一个PHP程序,而把后面的部分作为参数。事实上,这2个URL很有可能:

/

|-chat. (PHP File)

|-images. (PHP File)

|-imagessecret/ (Directory)

http://www.msger.net/images/test.gif将交给images这个PHP程序来处理。下面给出这个程序的部分环境变量:

_SERVER["REQUEST_URI"] = /images/test.gif

_SERVER["SCRIPT_NAME"] = /images

_SERVER["PATH_INFO"] = /test.gif

_SERVER["PHP_SELF"] = /images/test.gif

大家注意到了,Apache除了对_SERVER["SCRIPT_NAME"]有正确的判断以外,其他的信息几乎都是被我们欺骗了。不知道大家想到利用这个性质我们可以做什么,反正我想到了可以防止图片被盗链。

另外,找遍了很多资料,最后还是通过自己,使得Apache能够对没有扩展名的PHP文件进行正确的解释:

修改httpd.conf,找到<Directory "你的Web绝对目录">,增加:DefaultType application/x-httpd-php

最后一些遗留问题:

对于http://www.msger.net/images/../test.gif这类的请求,服务器会如何处理呢?不要用IE发送这样的请求,因为IE自动会处理。

欢迎有兴趣的朋友和我交流,QQ: 106814

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航