【问题标题】:Allow access from specific url and block access by ip on admin folder允许从特定 url 访问并通过 ip 在管理文件夹上阻止访问
【发布时间】:2013-10-07 17:59:35
【问题描述】:

我有一个来自前端的 php 文件,它需要从管理后端触发一个 php 文件,但它不能这样做,因为我在 .htaccess 中添加了:

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

【问题讨论】:

  • 这个管理后台文件是从前端的内容链接,还是直接包含在php中?跨度>
  • 在前端的 php 文件中我有 include($GLOBALS['admin_folder']."/config.inc.php");在 tpl 文件中(模板我有 href="{admin}/file.php" 所以我相信两者兼而有之。

标签: php regex apache .htaccess


【解决方案1】:

您可以使用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

【讨论】:

  • 完成了这项工作,现在如果我有多个文件,我只需像这样添加它们: SetEnvIfNoCase Request_URI "file\.php" ALLOWED_PHP SetEnvIfNoCase Request_URI "file\.php" ALLOWED_PHP SetEnvIfNoCase Request_URI "file\. php" ALLOWED_PHP
  • 是的,或者您可以使用与OR 相同的行,例如SetEnvIfNoCase Request_URI "(file|foo|bar)\.php" ALLOWED_PHP
  • 你可以做类似"^admin_folder/(.*)"
猜你喜欢
  • 1970-01-01
  • 2013-08-14
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 2011-02-10
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多