2

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

例如,我有一个网站 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

谢谢。

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 回答