私はwp-login.phpへのリモートPOSTコマンドで覚えていることに気づいています(主にパスワードリセットを試みる)。私は返信アドレスを偽装することから保護していますが、これを受けているのはまだ迷惑です。だから、ログを見て、私はこれらの要求は、POSTコマンドを送信するすべてのリモートサイトです気づく:nginx同じページでない限り、wp-login.phpへのPOSTを拒否する
POST /wp-login.php?action=lostpassword HTTP/1.1" 302 5 "-" "-"
それでは、私がやりたいことのconfigure nginxの失われたパスワードから来ていないすべてのPOSTコマンドをブロックすることですリンクはwp-login.phpページからクリックしてください。これは可能ですか?
私が最初に(Wordpressのサイト上で提案)以下を使用してみましたが、それは(POSTMANでテスト)そのページへのアクセスを防ぐことはできません。
location ~* (wp-comments-posts|wp-login)\.php$ {
if ($http_referer !~ ^(https://example.com)) {
return 405;
}
}
その後、私はそれで別のブロックを持っていることに気付いこのようなファイル:
location = /wp-login.php {
limit_req zone=one burst=1 nodelay;
include fastcgi_params;
fastcgi_pass php7;
}
私は次のようにそれを修正しようとしました:
location = /wp-login.php {
limit_req zone=one burst=1 nodelay;
include fastcgi_params;
fastcgi_pass php7;
if ($http_referer !~ ^(https://example.com)) {
return 405;
}
}
しかし、これは私が望んでいないブラウザでも、誰もがブロックします。ブラウザのwp-login.phpでパスワードを忘れてしまった人がwp-login.php?action=lostpassword
へのアクセスをブロックする方法はありませんか?
私はログインページの名前を変更しないようにしようとしていましたが、あなたが正しいと結論しました。ありがとう! – Stephen