隐藏Drupal管理员

时间:2012-08-27 12:51:27

标签: drupal-7 apache2

我正试图从互联网上隐藏我的Drupal7管理页面,只允许从内部局域网访问。

我正在尝试隐藏/ admin / user和* / edit,但是还有什么我需要拒绝,禁用对Drupal管理员的所有部分的访问权限吗?

<Location ~ "(/([aA][dD][mM][iI][nN]|[uU][sS][eE][rR])|/[eE][dD][iI][tT])">
  Order deny,allow
  Deny from all  
  Allow from 12.193.10.0/24
</Location>

Apache似乎接受了这一点,并且请求中的urlencoding字符似乎在处理请求之前得到解决(例如:/%55ser)

编辑:我注意到参数化路径,所以我也要检查这些类型:?q = admin

1 个答案:

答案 0 :(得分:1)

除了您列出的内容之外,还有一个*/delete个页面。

模块可以通过实现hook_admin_paths()告诉Drupal某些路径(开始admin/之外的路径)应该是管理的。

您可以调用相同的钩子来获取应被视为管理的所有模式的列表,并相应地更新您的vhost文件:

$paths = module_invoke_all('admin_paths');

$paths变量的开发输出如下所示:

enter image description here

它应该让你很好地了解你需要隐藏的路径。打印输出可能与您的安装完全不同,它取决于您安装的模块。