我一直试图阻止访问/admin
和/admin/{anything}
,而/ admin不是silverstripe中的物理子目录,除了一组有限的IP地址并提出以下内容。 htaccess文件部分,大部分工作。
<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase '/'
RewriteCond %{REQUEST_URI} ^(.*)?(admin/(.*)|admin)$
RewriteCond %{REMOTE_ADDR} !^(127\.0\.0\.1|216\.58\.208\.36)$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
但有人向我指出,这不会阻止未经重写的访问framework/main.php?url=admin
和framework/main.php?url=admin/{anything}
除此之外,还可以通过不支持.htaccess的Nginx提供Silverstripe。
如何更新此.htaccess部分以阻止非重写版本,以及如何在nginx中执行相同的操作?
答案 0 :(得分:2)
Hailwood,有几个模块可以触及这一点。可能是一个很好的起点:
https://github.com/silverstripe-labs/silverstripe-securityextras