Security

將登錄 Drupal 限制為特定 IP 塊

  • June 1, 2011

我想允許來自任何地方的匿名,同時將身份驗證限制為一個或幾個 IP 塊。

這可以在drupal 6中完成嗎?

檢查控制面板中的“訪問規則”:admin/user/rules

添加規則並選擇“主機”,您可以允許或拒絕指定 IP 地址的訪問(通常允許您的範圍然後拒絕其他所有內容,這裡沒有隱式拒絕。)不幸的是,這是一個“全域選項”(不是基於使用者或組)所以小心行事,您可以將自己拒之門外。

這絕對是一個 hack,但您可以在登錄模組/腳本中添加類似以下內容(或包含它),從而防止那些不在 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
}

引用自:https://serverfault.com/questions/181443