我正试图从互联网上隐藏我的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
答案 0 :(得分:1)
除了您列出的内容之外,还有一个*/delete
个页面。
模块可以通过实现hook_admin_paths()
告诉Drupal某些路径(开始admin/
之外的路径)应该是管理的。
您可以调用相同的钩子来获取应被视为管理的所有模式的列表,并相应地更新您的vhost文件:
$paths = module_invoke_all('admin_paths');
$paths
变量的开发输出如下所示:
它应该让你很好地了解你需要隐藏的路径。打印输出可能与您的安装完全不同,它取决于您安装的模块。