wordpress后台登录页面保护插件设计

2018年6月13日18:07:33wordpress后台登录页面保护插件设计已关闭评论 1,455 次

上文(wordpress修改后台登录地址增加安全性),由于代码实现后台登录地址的修改稍显不便,计划写一个后台登录页面保护的插件。虽然网上类似的插件很多,为了锻炼自己的水平和思维,自己干!

计划功能:

  1. 可任意定义后台登录地址,替代wp-login.php
  2. 非管理员、管理员登录地址分开,管理员登录需要网址加参数,正确方可登录。参数名称和值均可自定义。
  3. 更改登录表单、密码找回表单、注册表单的action地址。
  4. 未登录用户访问/wp-admin/* 跳转404页面。
  5. 未登录用户访问/wp-login.php 跳转404页面,已登录用户访问跳转至wp-admin

涉及到的钩子、函数:

wp_loaded,类型action,wordpress、主题、插件加载完成并实例化后触发,执行对$_SERVER['REQUEST_URI']的判断。

admin_menu,类型action,在管理菜单添加主题设置菜单。

login_errors,类型filter,自定义登录返回错误。

check_password,类型filter,根据密码是否正确返回true或false。

login_form,类型action,加载登录表单时触发,可能需要在登录表单增加一个隐藏域,所以需要用到该钩子。

login_url,类型filter,修改函数wp_login_url()返回的登录地址。

logout_url,类型filter,修改函数wp_login_url()返回的登出地址。

site_url、network_site_url,类型filter。由于在登录、注册、密码找回菜单中,action地址为 site_url( 'wp-login.php', 'login_post' )返回地址,需要site_url过滤器修改。

lostpassword_url,类型filter,修改wp_lostpassword_url()函数返回的地址。

register_url,类型filter,修改wp_registration_url()返回的注册地址。

wp_safe_redirect,类型function,wordpress页面跳转函数,跳转到404或管理页面使用。

 

avatar