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

转载 2004年07月06日 22:20:00
环境: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自动会处理。

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

对于无扩展名的PHP程序的研究作者:PHP环境:WinXp Pro + Apache 2.0.49 + PHP 4.3.5 (Module)  将没有扩展名的PHP代码,给PHP解释器解释,好处在于大...
  • freexploit
  • freexploit
  • 2004年10月18日 21:17
  • 909

[小技巧] Windows 下如何识别没有扩展名的文件

最土的办法就是用不同的工具去打开看看,当然这个效率太低了。 网上搜了一下,有这样一个工具: http://mark0.net/soft-trid-e.html 这是一个命令行的工具,需要下载对应的可...
  • robertsong2004
  • robertsong2004
  • 2016年02月14日 09:46
  • 1755

用Nginx如何配置运行无扩展名PHP文件或非.PHP扩展名文件

用Nginx如何配置运行无扩展名PHP文件或非.PHP扩展名文件 使用Apache + PHP 很容易做到运行无扩展名的PHP文件。 在Nginx中能做到吗?是可以的。 只需将nginx.c...
  • lzwjavaphp
  • lzwjavaphp
  • 2011年12月01日 08:54
  • 6382

2016广东工业大学新生杯决赛:Problem B: Zhazhahe究竟有多二

Problem B: Zhazhahe究竟有多二 Description Zhazhahe竟然能二到把耳机扔到洗衣机里去洗,真的是二到了一种程度,现在我们需要判断一下zhazhahe二的程度(...
  • Orgeal
  • Orgeal
  • 2016年12月08日 22:53
  • 486

Asp.Net中通常不修改IIS实现URL重写,支持任意扩展名及无扩展名(伪静态)

说到不用设置iis,主要是为了实现在虚拟主机或是拿不到iis操作限的时候,不能添加isap又想实现类似于静态化的程序实现方式,先声明,这里最终要实现的效果是,最终可以用 12345.html 替换...
  • ysq5202121
  • ysq5202121
  • 2011年11月23日 16:51
  • 2169

IIS不能下载无扩展名文件解决方法

添加全局 MIME 类型  在 IIS 管理器中,展开本地计算机,右键单击要向其添加 MIME 类型的计算机,单击“属性”。  单击“MIME 类型”选项卡。  单击“新建”。  在“扩展名”...
  • jimmyzj123456
  • jimmyzj123456
  • 2014年09月24日 11:32
  • 2358

php 取得文件名,不包含后缀

前天从网上找了很多取得文件名的方法(只要文件名,不要后缀),主要是截取字符串的方式,如果文件名中包含中文,好要自己写一些函数,保证不出现乱码,截取字符串时还需要计算字符串的长度,因为可能有中文所以要自...
  • webouse
  • webouse
  • 2008年06月06日 10:43
  • 3781

用ls和awk列出没有扩展名的文件

比如一个目录下有1.txt 2.txt 3 4四个文件我想输入ls命令  ls|awk 把 3 4 两个没有扩展名的文件取出来该怎么做。ls -l | awk '/^-.*/{print $8}'|a...
  • vv894175584
  • vv894175584
  • 2010年10月25日 20:30
  • 796

创建只有扩展名而无文件名的文件

        以前用 Eclipse 做过 Java (学习阶段),没怎么在意。今天用 Zend Studio for Eclipse 才注意,它创建的工程文件和目录都是只有扩展名而没有文件名的东东...
  • tangzhongxin
  • tangzhongxin
  • 2009年08月21日 22:53
  • 3186

ASP.NET 4.0在IIS6原生支持没有后缀名的URL请求

看到haack的这篇文章《ASP.NET MVC 3 Extensionless URLs on IIS 6》,我才知道在IIS6的环境下运行ASP.NET4.0程序,我们已经可以原生的支持没有后续名...
  • felixfeng
  • felixfeng
  • 2013年10月26日 12:32
  • 996
收藏助手
不良信息举报
您举报文章:对于无扩展名的PHP程序的研究
举报原因:
原因补充:

(最多只允许输入30个字)