ScriptInterpreterSource 指令
描述: | 为CGI脚本定位解释器的技术 |
---|---|
句法: | ScriptInterpreterSource Registry|Registry-Strict|Script |
默认: | ScriptInterpreterSource Script |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
覆写: | 文件信息 |
状态: | 核心 |
模组: | 核心 |
兼容性: | 仅Win32。 |
该指令用于控制Apache httpd如何查找用于运行CGI脚本的解释器。默认设置为Script
。这将导致Apache httpd使用#!
脚本中shebang行(第一行,以开头)指向的解释器。在Win32系统上,此行通常如下所示:
#!C:/Perl/bin/perl.exe
或者,如果perl
位于中PATH
,则只需:
#!perl
设置ScriptInterpreterSource Registry
将导致HKEY_CLASSES_ROOT
使用脚本文件扩展名(例如.pl
)作为搜索关键字来搜索Windows注册表树。由注册表子项定义的命令,Shell\ExecCGI\Command
或者如果不存在,则由子项定义的命令Shell\Open\Command
用于打开脚本文件。如果找不到注册表项,则Apache httpd会退回到该Script
选项的行为。
安全
ScriptInterpreterSource Registry
与ScriptAlias
ed目录一起使用时要小心,因为Apache httpd会尝试执行该目录中的每个文件。该Registry
设置可能导致对通常不执行的文件进行不希望的程序调用。例如,.htm
大多数Windows系统上文件的默认打开命令将执行Microsoft Internet Explorer,因此.htm
,对脚本目录中现有文件的任何HTTP请求都将在服务器后台启动浏览器。这是在一分钟左右的时间内使系统崩溃的好方法。
该选项的Registry-Strict
作用与Registry
仅使用子项的相同Shell\ExecCGI\Command
。ExecCGI
钥匙不是普通的钥匙。必须在Windows注册表中手动配置它,因此可以防止在系统上意外调用程序。