建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 服务器 > Web服务 >

APACHE编译无扩展名的PHP程序

时间:2008-12-22 18:50来源:建站学整理 作者: 点击:
APACHE编译无扩展名的PHP程序,对于无扩展名的PHP程序的研究,将没有扩展名的PHP代码,给PHP解释器解释,好处在于大大增加了安全性,给入侵的人、盗链的人,增加了迷惑性。

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

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

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

http://www.jzxue.com/chat?username=Hackfan
http://www.jzxue.com/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.jzxue.com/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.jzxue.com/images/../test.gif这类的请求,服务器会如何处理呢?不要用IE发送这样的请求,因为IE自动会处理。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片