我有一个网站需要根据 IP 地址屏蔽特定国家/地区。我非常清楚,基于 IP 的屏蔽并不是屏蔽访问者的万无一失的方法,但它是朝着正确方向迈出的必要一步。
由于我使用的是 PHP,所以我会使用 GeoIP 数据库,例如geoplugin.net。但是,我很好奇是否有更好的方法可以做到这一点。
该网站位于共享网络服务器上(我没有 root 访问权限),它在 centOS 上运行 Apache。我想我的问题是“是否可以将 .htaccess 文件配置为使用外部源查找 IP 地址来按 IP 进行阻止?”
答案1
谨慎使用...我确信这里有很多人认为你封锁整个国家是做错事。
答案2
似乎有一个Apache 的 geoip 模块,但服务器管理员可能有理由不安装它。
答案3
如果您发现附加规则导致 CPU 开销和延迟问题,TechGuard 会制作一个内联设备来IP 地址阻止入站和出站流量,包括数百万个与策略允许的国家/地区中的恶意活动相关的 IP 地址的商业阻止列表。它可以在不影响网络延迟或 TCP 连接的情况下完成所有这些操作,同时每天自动更新相当于 12,000 个 IP 范围的内容。