我正在子域中设置WordPress网站。子域名将位于主目录的子目录中。
所以http://dl.abc.com将位于/ public_html / dl /
文件夹中安装WordPress时会出现wp-admin文件夹: /的public_html / DL /可湿性粉剂管理员/
我们想阻止任何试图访问它的人(或其中包含的任何文件/子目录)的wp-admin文件夹,除了来自澳大利亚和新加坡的用户。
这是正确的方法吗?(我怀疑一个警告是通过调用admin-ajax.php来调用ajax请求的任何插件都无法正常工作?)
<ifModule mod_geoip.c>
GeoIPEnable On
# Put countries to allow here
SetEnvIf GEOIP_COUNTRY_CODE NZ AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE SG AllowCountry
Deny from all
Allow from env=AllowCountry
</ifModule>
第二个问题是我们如何使用将安装在/ public_html / dl /文件夹中的wp-login.php文件做同样的事情? 如果我们把它放在/ public_html / dl /目录下的.htaccess文件中,这会工作吗?或者有更好的方法吗?
<Files "wp-login.php">
<ifModule mod_geoip.c>
GeoIPEnable On
# Put countries to allow here
SetEnvIf GEOIP_COUNTRY_CODE NZ AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE SG AllowCountry
Deny from all
Allow from env=AllowCountry
</ifModule>
</Files>
最后,我希望通过以下两个示例获得一些额外的“安全隐患”我宁愿返回“404 not found”错误而不是拒绝错误。 最好的方法是什么?
不幸的是我们没有任何类型的开发/测试服务器可以先尝试一下,所以希望第一次尽可能接近完美。
谢谢。 _
答案 0 :(得分:1)
htaccess - 根据地理位置拒绝目录 检查此网址:https://mediatemple.net/community/products/dv/204643270/using-htaccess-rewrite-rules
答案 1 :(得分:0)
要回答您的第二个问题,请根据此页面:
https://www.askapache.com/htaccess/using-filesmatch-and-files-in-htaccess/
您可以使用<Files></Files>
或<FilesMatch></FilesMatch>
指令包围其他指令:
&#34;该指令限制所附指令的范围 文件名。它应该与指令匹配。该 本节中给出的指令将应用于任何对象 使用与指定匹配的basename(filename的最后一个组件) 文件名。部分按它们出现的顺序处理 部分和.htaccess之后的配置文件 文件被读取,但在部分之前。注意可以 嵌套在部分内部以限制部分 他们适用的文件系统。&#34;
所以基本上看来你已经说过的应该工作。