2012-09-16 34 views
1

我知道这听起来有点愚蠢。但我从github下载了一个脚本,并意识到它的一个表单提交实际上是将表单输入引用到一个文件夹/ dir而不是一个单独的php文件。表单提交到一个目录?可能?

我现在的问题是如果是这样的话,是否意味着文件夹内的所有脚本本身都能够获得我的$ _POST表单输入结果?

回答

3

假设你是在谈论类似:

<form method='post' action='some/directory'> 

,希望其(例如index.php)由Web服务器的目录索引服务的文件接收表单提交和处理输入。因此,您不会将表单发布到目录,而是发布到Web服务器在访问目录时执行的默认文件。

<form>标记的action=属性只需要一些相对或绝对的URI--它不必指向实际存在的文件。这将是到Web服务器,以确定执行基于目录索引规则,脚本,重写规则等

4

其表单提交实际引用的形式输入到一个文件夹/目录

在HTTP URI中不存在这样的事情。所有的URI都会指向一个资源。由服务器决定如何响应该资源。

看起来像URI中的目录的东西可能会映射到文件系统上的实际目录。 Web服务器通常会使用类似DirectoryIndex指令的内容来使用默认文件。

它可能会映射到上面几个级别的文件,然后通过以下方式处理:http://example.com/foo.php/bar/baz/foo.php从URI读取/bar/baz/并对其执行某些操作。

它可能有一个明确的映射(例如ScriptAlias指令),该映射将其内部映射到另一个脚本。

它可能有一个使用正则表达式将其映射到别的东西上的编程映射(例如使用mod_rewrite)(可能会将'目录'分解为不同的查询字符串参数)。

还有很多其他的可能性。

我现在的问题是如果是这样,是否意味着文件夹内的所有脚本本身都能够获得我的$ _POST表单输入结果?

理论上,可以通过POST请求传递到文件系统目录中的每个脚本,然后返回复合响应的方式来配置服务器。我从来没有见过任何人尝试过(或想尝试)。上述解释之一更有可能。