【问题标题】:How to allow access only within country如何只允许在国内访问
【发布时间】:2009-08-19 21:02:09
【问题描述】:

我找到this web site 生成一个.htaccess 来阻止来自某些国家的访问。

问题在于我只想允许在挪威境内访问。如果我使用此服务,列表会很长,因为我必须列出所有国家/地区的 IP 地址。

有没有办法允许在国内访问,我的情况是挪威?

【问题讨论】:

  • 我可能错了(如果我错了,请纠正我),但如果你将生成的 .htaccess 中的这些值从命令允许、拒绝交换为命令拒绝、允许,那么它不会工作将每个拒绝替换为允许(允许 1 个国家/地区内的所有 IP),然后在最后放置拒绝所有?
  • 广告。从 gbjbaanb 的帖子中我看到,我非常接近真正的答案;)。

标签: .htaccess


【解决方案1】:

将所有出现的“拒绝”更改为允许,将所有出现的“允许”更改为拒绝。然后将末尾的 'deny from all' 条件移动到列表的开头。

例如。

<Limit GET HEAD POST>
order allow,deny
deny from 41.205.32.0/19
deny from .... 
allow from all
</LIMIT>

变成

<Limit GET HEAD POST>
order deny,allow
deny from all
allow from 41.205.32.0/19
allow from ....
</LIMIT>

有一些不错的tutorials about .htaccess。

【讨论】:

  • 你知道如何只为某个页面执行此操作吗?
  • 是的。 Google 说要在 .htaccess 文件中使用 块。 httpd.apache.org/docs/current/mod/core.html#files - 请注意,所有 .htaccess 指令都可以放在您的 httpd.conf 中(并且是首选)
  • @gbjbaanb 这个解决方案对我不起作用。这不再有效吗?
  • @dark_shadow 抱歉,有一段时间了.. 尝试我在评论中提供的链接中的文档。这些东西不会改变,所以应该是相似的。
【解决方案2】:

有许多 geoip 数据库供应商提供解决问题的详细说明。查看 http://www.maxmind.com/app/mod_geoip 获取他们的数据库附带的 apache 模块,这可能非常适合您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-16
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 2011-07-31
    • 1970-01-01
    相关资源
    最近更新 更多