我从我的网站门户获得注册页面,但仅在以前的域为PayPal域的情况下,才允许加载该页面。这样,我将保证即使机器人扫描了我的WordPress实例(这并不困难),它也无法注册。
我知道mod_rewrite可以阻止热链接,并允许特定的域加载该内容。
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain.com [NC]
RewriteRule \.(jpe?g|gif|bmp|png)$ https://example/404.jpg [NC,L]
但是可以使用普通URL吗?那不是文件,而是页面?
答案 0 :(得分:1)
您可以使用(假设您的注册链接为/wp-login.php?action=register)
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?paypal.com [NC]
RewriteCond %{QUERY_STRING} ^action=register$
RewriteRule ^wp-login.php index.php [NC,L]
..如果有人尝试注册而没有来自贝宝,则重定向到index.php(当然,可以欺骗标头)
答案 1 :(得分:0)
是的,您可以对任何URL使用HTTP_REFERER。将此添加到您的.htaccess:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?paypal.com [NC]
RewriteCond %{REQUEST_URI} ^/your-registration-url$ [NC]
RewriteRule ^your-registration-url$ https://website.com/404 [R=301,L]
这会将访问您的注册URL的任何人(不具有paypal.com作为引荐网址)重定向到website.com/404或您选择将其重定向到的任何页面。