一个简单的隐藏Wordpress登录地址的方式
29 Feb 2024 Wordpress
Wordpress的登陆地址总是会遇到很多自动化扫描,虽然加个Recaptcha或者2FA就能解决,但是总是会想要阻挡下,说不定什么时候哪里就爆出漏洞导致自动登陆了。
访问过滤
看了下Wordpress的官方文档,以及稍微做了下搜索。
发现要通过插件来阻止登陆其实还是挺简单的。
只要hook到init
上,就可以对所有的访问进行一次过滤了。
由于不想搞得太复杂,最后决定采用Session来存储用户的访问信息。
当用户访问wp-login.php
时,如果携带了符合要求的参数对,就会给用户加一个许可的Session。如果用户在访问wp-login.php
的时候没有提供正确的参数对,就会被自动重定向到主页。
登陆控制
由于不是很清楚Wordpress的流程,无法确定init
的action是否能够阻止直接post登陆的情况。
因此额外的hook了登陆流程。只有在用户具有正确的Session的情况下,才能完成登陆的校验流程。
这样就可以防止某些可能存在的未知登陆的情况了。
插件代码
直接放到了GitHub上,不过如果要用的话需要注意风险。必须保证能在不用重新登陆的情况下删除这个插件,不然万一出问题可能就一直登不进去了。