
Im Grunde habe ich eine WordPress-Site (mit einem E-Commerce-Shop und einem Social Login). Ich habe allen Zugriff auf wp-login.php basierend auf der IP-Adresse verweigert. Das Problem ist, dass Social Login diese wp-login-Datei verwendet. Daher frage ich mich, ob es möglich ist: - fast alle Abfragen an wp-login.php nach IP-Adresse zu blockieren und nur bestimmte Abfragen nach IP zuzulassen. Das heißt:
wp-login.php
1 IP zulassen, alle verweigern,
wp-login.php?action=lostpassword
1 IP zulassen, alle verweigern,
wp-login.php?action=rp&key=.*?&login=.*
1 IP zulassen, alle verweigern
, .
.
wp-login.php?ywsl_social=google
alle IPs zulassen
wp-login.php?ywsl_social=twitter
, alle IPs zulassen.
So etwas wie das hier:
location = /wp-login.php {
if ($query_string = "ywsl_social=google|ywsl_social=twitter")
{
allow all;
fastcgi_pass unix:/var/sockets/sock.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param HTTPS on;
}
else {
allow 1.1.1.1;
deny all;
fastcgi_pass unix:/var/sockets/sock.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param HTTPS on;
}