我想允许任何地方的匿名用户,同时将身份验证限制在一个或几个 IP 块内。
这可以在 drupal 6 中完成吗?
答案1
在控制面板中检查“访问规则”:admin/user/rules
添加规则并选择“主机”,您可以允许或拒绝指定 IP 地址的访问(通常允许您的范围然后拒绝其他所有内容,这里没有隐式拒绝。)不幸的是,这是一个“全局选项”(不是基于用户或组的)所以小心行事,您可能会将自己拒之门外。
答案2
这绝对是一种黑客行为,但您可以在登录模块/脚本中添加类似以下内容(或将其包含在内),从而阻止那些不在 IP 范围内的人访问登录模块:
<?php
$allowed_ips = array('1.2.3.4','5.6.7.8');
$client_ip = $_SERVER['REMOTE_ADDR'];
if(!in_array($client_ip,$allowed_ips)) {
die('authentication denied'); // or you could redirect to a 403 or whatever
}
答案3
看起来有一个功能请求正在等待处理,但是开发人员已经整理了一些可能有用的代码:支持基于角色的 IP 限制