2013-10-07 127 views
1

我有一个PHP文件从前端需要从管理后端触发一个PHP文件,但它不能这样做,因为我加入了。 htaccess的:允许从特定的URL访问和阻止访问通过IP管理文件夹

ErrorDocument 403 "Forbidden 
order allow,deny 
allow from 182.112.0.1/13 
allow from 76.112.0.1/13 .... 

,并将它显示在php文件被禁止的错误的内部。 有没有办法用htaccess文件来解决这个问题?

ErrorDocument 403 "Forbidden 
order allow,deny 
allow from 182.112.0.1/13 
allow from 76.112.0.1/13 .... 
allow from file.php // this doesn't work 
+0

这是管理后端文件感** **挂从前端的内容,或者是被** **包括直接在PHP ? –

+0

在前端的php文件中包含了($ GLOBALS ['admin_folder']。“/ config.inc.php”);并在tpl文件(模板我有href =“{admin} /file.php”所以我相信这两个。 – Adrian

回答

2

您可以使用mod_setenvif

所以这样的事情应该工作:

SetEnvIfNoCase Request_URI "file\.php" ALLOWED_PHP 

ErrorDocument 403 "Forbidden 
order allow,deny 
allow from 182.112.0.1/13 
allow from 76.112.0.1/13 
allow from env=ALLOWED_PHP 
+0

这样做的工作,现在如果我有多个文件,我只是像这样添加它们:SetEnvIfNoCase Request_URI“文件\ .php“ALLOWED_PHP SetEnvIfNoCase Request_URI”file \ .php“ALLOWED_PHP SetEnvIfNoCase Request_URI”file \ .php“ALLOWED_PHP – Adrian

+1

yes或者您可以与'OR'使用同一行,例如**'SetEnvIfNoCase Request_URI”(file | foo | bar) .php“ALLOWED_PHP”** – anubhava

+1

你可以做类似'“^ admin_folder /(.*)”' – cmorrissey

相关问题