我有这个目录树:
dir/
file.php
.htaccess
在.htaccess
我有php_flag engine off
,所以如果直接调用文件dir/file.php
,它就不会运行。
但如果我将file.php
包含在此目录之外的其他php文件中,file.php
仍会运行。
是否可以阻止所有php文件在目录中运行,即使它们包含在此目录之外的其他文件中?
答案 0 :(得分:0)
您无法在.htaccess
中关闭PHP处理。这必须在Apache配置级别上完成
<Directory /your/path/here>
php_admin_flag engine off
</Directory>
答案 1 :(得分:0)
您可以在该目录中的php文件中添加一些额外的逻辑:
if($the-Criteria-Which-Keeps-You-From-Deleting-The-Files-Is-Met){
// Your otherwise not-allowed code runs here
}
//Thus, the contents of this script do not execute unless you want them to.
现在,我自己也有一些,我在上面的if()
语句中使用的逻辑是这样的:
if ($_SERVER['REMOTE_ADDR'] == $my-Development-IP) { [...]
答案 2 :(得分:0)
我假设您要这样做以防止任何上传php文件,
这是我用于我的网站的内容:
AddType text/plain .php .php3 .php4 .php .phtml .pl .py .jsp .asp .htm .shtml .sh .cgi
php_flag engine off
在您的文件夹中创建一个htaccess并添加它。
php不会被解释,但会以纯文本显示