2

特定の国からの訪問者が画像をアップロードできないようにする必要がありますが、サイトにアクセスできる必要があります。

たとえば、私はサイト xyz.com を持っています。私が現在設定している方法では、ブラックリストに登録された国からのすべての訪問者はサイト自体にアクセスできず、403 で迎えられます。もちろん、これは良い解決策ではないので、これらのように設定したいと思いますユーザーは引き続きサイトにアクセスして遊ぶことができますが、画像をアップロードすることはできません (これは、xyz.com/upload_file.php のエイリアスである xyz.com/upload/ をクリックすることによって行われます)。他のホワイトリストに登録された国の他のすべてのユーザーは、サイトのすべての機能を使用できる必要がありますが、ブラックリストに登録された国のユーザーは画像をアップロードできないはずです。

.htaccess を介してこれが当てはまることを確認するにはどうすればよいですか? 私は現在 Cloudflare を使用しており、.htaccess の関連テキストは次のとおりです。

SetEnvIf CF-IPCountry AA UnwantedCountry=1
SetEnvIf CF-IPCountry BB UnwantedCountry=1
SetEnvIf CF-IPCountry CC UnwantedCountry=1
Order allow,deny
Deny from env=UnwantedCountry
Allow from all

ありがとう。

4

3 に答える 3

3

質問のコード行を次のように変更します。

<Files "upload_file.php">
SetEnvIf CF-IPCountry AA UnwantedCountry=1
SetEnvIf CF-IPCountry BB UnwantedCountry=1
SetEnvIf CF-IPCountry CC UnwantedCountry=1

Order allow,deny
Allow from all
Deny from env=UnwantedCountry
</Files>

これにより、これらの国へのアクセスはファイルのみに制限されますupload_file.php

于 2011-10-01T18:22:52.530 に答える
2

エイリアスである必要がありますか?フォルダを作成してupload/、そこに .htaccess を入れていただけませんか? ロジックの一部を変更する必要があるかもしれませんが、それがupload_file.php私にとって最も簡単な修正のようです。

于 2011-10-01T18:01:15.730 に答える
0

.htaccess ファイルは /any/ サブディレクトリに配置できると思います。ファイル アップロード コードをディレクトリに移動し、そこに .htaccess コントロールを配置しますか?

于 2011-10-01T18:01:29.820 に答える