我如何阻止来自某些国家的访问者访问我的网站(xyz.com/thisFile.php)上的文件?


How could I block access from visitors from certain countries to a file on my site (xyz.com/thisFile.php)?

我需要阻止来自某些国家的访问者上传图像-但他们应该能够访问该网站。

例如:我有一个网站xyz.com。我目前设置的方式是,所有来自黑名单国家的访问者都无法访问网站本身,并以403迎接。这不是一个很好的解决方案,当然,所以我想设置这样,这些用户仍然可以访问和玩周围的网站,但不能上传图像(这是通过点击xyz.com/upload/这是一个别名xyz.com/upload_file.php)。除了来自黑名单国家的用户不能上传自己的图片外,其他白名单国家的用户显然应该能够使用该网站的所有功能。

我如何确保这是通过。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

谢谢。

将问题中的代码行改为:

<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

必须是别名吗?你能不能创建一个upload/文件夹,把。htaccess放进去?这可能需要改变一些upload_file.php逻辑,但这似乎是最简单的修复对我来说。

我认为。htaccess文件可以放在/any/子目录下。将文件上传代码移到一个目录中,并在那里放置。htaccess控件?