我需要阻止来自某些国家/地区的访问者上传图片 - 但他们应该能够访问该网站。
例如我有一个网站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
感谢。
答案 0 :(得分: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
。
答案 1 :(得分:2)
它必须是别名吗?你能创建一个upload/
文件夹,并把.htaccess放在那里吗?它可能需要更改一些upload_file.php
逻辑,但这对我来说似乎是最简单的修复。
答案 2 :(得分:0)
我认为.htaccess文件可以放入/ any /子目录。将文件上传代码移到目录中并将.htaccess控件放在那里?