风蚀之月

一个简单的隐藏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上,不过如果要用的话需要注意风险。必须保证能在不用重新登陆的情况下删除这个插件,不然万一出问题可能就一直登不进去了。