繁体   English   中英

如何阻止某些国家/地区的访问者访问我网站上的文件(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控件?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM