我需要限制对该特定域的访问:
mydomain.com/wp-admin
我尝试了此代码,但没有成功
RewriteRule ^wp-admin(?!/something\.php/allow/this/uri/?$) - [F,L,NC]
请问我该怎么做?
答案 0 :(得分:1)
单个IP地址访问权限
要允许从单个IP地址进行访问,请用您自己的IP地址替换123\.123\.123\.123
:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123$
RewriteRule ^(.*)$ - [R=403,L]
多个IP地址访问权限
要允许从多个IP地址进行访问,请用您自己的IP地址替换123\.123\.123\.xxx
:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.121$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.122$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123$
RewriteRule ^(.*)$ - [R=403,L]
动态IP地址访问,受引用者限制
如果您的IP地址更改,则可以只允许直接来自您的域名的登录请求来保护WordPress网站。只需将example\.com
替换为您自己的域名
大多数暴力攻击都依赖直接向您的POST
脚本发送直接wp-login.php
请求。因此,要求POST
请求以您的域作为引荐来源网址可以帮助清除漫游器。
RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^http://(.*)?example\.com [NC]
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteRule ^(.*)$ - [F]
至少等待 15-20分钟,然后尝试再次登录到您的WordPress网站。如果您尝试在一个区块的 15分钟窗口内访问WordPress仪表板,则可能会延长该区块的时间。 重要的是要等待上一个阻止终止并耐心等待,然后再次尝试访问您的WordPress网站。
如果您想限制url yourdomainname.com/wp-admin
,请使用以下命令:
<files wp-login.php>
# set up rule order
order deny,allow
# default deny
deny from all
allow from x.x.x.x
allow from y.y.y.y
allow from z.z.z.z
</files>
ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default