【问题标题】:How do you block ip addresses inside of apache dynamically?如何动态阻止 apache 内部的 IP 地址?
【发布时间】:2016-09-22 08:35:21
【问题描述】:

我在我的网络服务器前使用负载平衡器,这意味着所有连接都来自 192.168.x.x(或其他内部局域网段)。我的用户都将在 x-forwarded-for 标头中显示他们的原始 IP 地址。我正在尝试动态禁止用户(IP 地址),这样我就可以自动/安静地列入黑名单,而无需手动管理员干预。

目前,我使用 htaccess 规则手动执行此操作。在应用程序级别自动阻止用户是不可接受的。

是否有任何 apache 模块或方法可以读取 ipset 列表、数据库或其他允许我根据 x-forwarded-for 标头自动拒绝用户的方法?

【问题讨论】:

    标签: apache .htaccess iptables


    【解决方案1】:

    见:Ban IPs from text file using htaccess

    基本上,您可以利用RewriteMap 从文本文件中读取、运行脚本(可以访问数据库)甚至使用 dbd 执行 SQL 查询。请记住,您不能在 htaccess 文件中定义映射,但可以在一个文件中使用映射。

    您将检查%{HTTP:X-FORWARDED-FOR} 条件而不是%{REMOTE_ADDR}

    RewriteEngine On 
    RewriteCond ${access:%{HTTP:X-FORWARDED-FOR}} deny [NC]
    RewriteRule ^ - [L,F]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多