2017-11-21 7 views
0

imは共有サーバーにあります。したがって、サーバー側(Apache)の調整は機能しない可能性があります。また、cloudflareはhtaccessファイルを無視します。htaccessや他の方法を使ってCloudflare Free Planで1カ国をブロックする方法は?

は、しかし、私は実際にこのコードを追加する知らない:

私は、ウェブ上でこのコードを発見しましたか?

(CloudFlareはhtaccessファイルを無視するため)私も仕事をdoesntのこのhtaccessのコードが見つかりました:

# Block UK 
<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP:CF-IPCountry} ^(GB)$ 
RewriteRule .* - [F] 
</ifModule> 

は、だから、僕は一つの国の訪問者を阻止するためにCloudFlareの自由な計画にstuckedです。 ブロックするにはどうすればよいですか?

+0

これは本当に一番簡単なものではありません、あなたが効果的に望ましくない場所からのトラフィックの大部分を遮断するためにいくつかの戦略を実装する必要があります。 [こちらにはたくさんの良いオプションがあります](https://www.sitepoint.com/how-to-block-entire-countries-from-accessing-website/)。ただし、プロキシやVPNはこれを簡単に回避できるため、100%有効にする方法はありません。 – mopsyd

答えて

0

私は自分自身を発見した

RewriteEngine On 
Deny from 1.1.1.1 

または範囲

allow from all 
deny from xxx.xxx.xxx.xxx 
+0

いいえ、私の答えは以下のとおりです。 – vinpinadu

0

ためにこのコードを試してみてください: は、実は、このコードが働いた:

SetEnvIf CF-IPCountry RU BuzzOff=1 
Order allow,deny 
Allow from all 
Deny from env=BuzzOff 
0

この

をお試しください10

あなたのケースのために、それは

RewriteEngine on 
# Set the CF-IPCountry header value as "Country" variable 
SetEnvIf CF-IPCountry "(.*)$" Country=$1 

# Than redirect it if the variable match. "GB" for <United Kingdom> 
RewriteCond %{ENV:Country} GB 
RewriteRule .* - [F] 

国コードのようになります。.htaccesshttp://dev.maxmind.com/geoip/legacy/codes/iso3166/

+0

私の代わりにこのコードを試してみてください。 – vinpinadu

+0

私はCF-IPCountryをローカル変数から取ります。 どこからPHPコードを使用するのかを尋ねるコードです。 そこからリダイレクトするのはお勧めできません。 これを行うには、以前にPHPで変数を定義しておく必要があります。 例: $ country_code = $ _SERVER ["HTTP_CF_IPCOUNTRY"]; –

+0

違いは何ですか?私のコードでは、ブロックされた国のサイトに入ろうとすると、入る前に多くの時間がかかります(挑戦はまた、cloudflareファイアウォールでも有効になります)。 – vinpinadu

0

があなたの(最適化)国コード照合置く:

RewriteCond %{HTTP:CF-IPCountry} ^(?:A[BC]|X[YZ])$ 
RewriteRule^blocked-country.php [END] 

ACAB一致し、 XY,XZ。一致する国コードへの参照は、必要に応じて%0にあります。 blocked-country.php

<?php header($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden');?> 
Some explanatory message 
関連する問題