WordPress后台登录添加数学验证码例子

为了防止,网站的后台登录界面被暴力破解,特意在后台登录的界面添加一个验证码的功能,以提高网站的安全性

添加以下代码至functions.php中的结尾处:

  

 代码如下 复制代码
//后台登陆数学验证码
function myplugin_add_login_fields() {
//获取两个随机数, 范围0~9
$num1=rand(0,9);
$num2=rand(0,9);
//最终网页中的具体内容
echo "<p><label for='math' class='small'>验证码</label><br /> $num1 + $num2 = ?<input type='text' name='sum' class='input' value=''
size='25' tabindex='4'>"
."<input type='hidden' name='num1' value='$num1'>"
."<input type='hidden' name='num2' value='$num2'></p>";
}
add_action('login_form','myplugin_add_login_fields');
function login_val() {
$sum=$_POST['sum'];//用户提交的计算结果
switch($sum){
//得到正确的计算结果则直接跳出
case $_POST['num1']+$_POST['num2']:break;
//未填写结果时的错误讯息
case null:wp_die('错误: 请输入验证码.');break;
//计算错误时的错误讯息
default:wp_die('错误: 验证码错误,请重试.');
}
}
add_action('login_form_login','login_val');

后台登陆效果如下所示:

WordPress后台登陆随机数字验证码

把以下代码添加到functions.php里,代码如下:

 代码如下 复制代码

//WordPress后台登陆随机数学验证码
function myplugin_add_login_fields() {
//获取两个随机数, 范围0~9
$num1=rand(0,9);
$num2=rand(0,9);
//最终网页中的具体内容
echo "<p><label for='math' class='small'>验证码:$num1 + $num2 = ? </label><input type='text' name='sum' class='input' value='' size='25'>"
."<input type='hidden' name='num1' value='$num1'>"
."<input type='hidden' name='num2' value='$num2'></p>";}
add_action('login_form','myplugin_add_login_fields');
function login_val() {
$sum=$_POST['sum'];//用户提交的计算结果
switch($sum){
//得到正确的计算结果则直接跳出
case $_POST['num1']+$_POST['num2']:break;
//未填写结果时的错误讯息
case null:wp_die('错误:请输入验证码!');break;
//计算错误时的错误讯息
default:wp_die('错误:验证码错误,请重试!');}}
add_action('login_form_login','login_val');

时间: 2024-11-08 21:32:06

WordPress后台登录添加数学验证码例子的相关文章

WordPress后台登录不跳转解决办法

开始以为是网速的原因,后来在网上查找原因,才知道这种情况,并不是你没有登录 WordPress后台,而是可能是你用了某些插件或者空间服务器的FSO的问题. 解决这种Wordpress 后台登录问题,其实很简单,就是输入[你的域名]/wp-login.php,不是一般时候用的[你的域名]/wp-admin/, 例如本站:/wp-login.php.进行登录就可以了. 上面是最简单的办法.当然如果不习惯的话,你可以改下代码就可以的. 具体如下: 打开文件 /wp-includes/pluggable

解决WordPress后台登录不上,出现wp-admin/&amp;reauth=1的方法

刚才有一个客户的 WordPress 博客忘了密码,于是通过 FTP 修改密码的方法把密码修改了,但是后台输入正确的用户名和密码提交后还是登录不上,登录地址跳转到后面是 %2Fwp-admin%2F&reauth=1 例如:h/wp-login.php?redirect_to=http%3A%2F%2Fwww.fengzx.com%2Fblog%2Fwp-admin%2F&reauth=1 谷歌百度了很久都没找到解决办法,后来才想起,原来通过 FTP 修改密码的时候,修改的主题 funct

wordpress后台添加顶级菜单和子菜单的实例

在 wordpress 插件.主题等制作过程中,经常需要在后台添加菜单,今儿分享一下在 wordpress 后台侧边栏添加顶级菜单的方法,也算加深一下印象吧,用到的函数是:add_menu_page() 函数用法: add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position ); 下面说说各参数: $page_title:(字符串) (必须) 这个参数是子菜单的

WordPress判断用户角色和权限等级及整合数据库导致后台登录无权限

WordPress判断用户角色和权限 其实判断WordPress用户角色和权限是非常少用的,对于普通的WordPress博主而言,可能这个功能不太常用,但是开放注册的WordPress而言,这个功能可能就会用到了.而子凡也就是因为需要做用户数据的整合及同步,在昨天子凡就发过一篇博客<WordPress数据库整合导致后台登录无权限解决方法>,其中就涉及到了WordPress用户的权限问题,所以这里子凡整理了一篇比较全面的文章,大家可以参考学习了解一下. 首先了解一下WordPress不同用户.不

求C#模拟登录网站,带验证码例子

问题描述 求C#模拟登录网站,带验证码例子 解决方案 解决方案二:我也在找啊,找了很多,都不行.郁闷呢啊.解决方案三:这个只能自己编个要分析验证码图片的话,要看对方混淆的方式,一般来说字符有交叉.变形.杂色.再加上干扰点线的话,目前我知道的算法就分析不了了,你也别费心了.解决方案四:第一次看到技术区发蛋贴的....

wordpress后台用户列表添加注册时间同时可注册时间排序2个方法

方法一 在wordpress的后台,所有用户默认是按照用户名排序的,并且没有显示用户的注册时间,那么我们希望看到用户注册时间并且可以按照用户的注册时间进行升序或者是降序排序,接下来将介绍实现方法,感兴趣的你可以参考下哈,希望可以帮助到你. 首先我们在用户列表的页面添加一列注册事件  代码如下 复制代码 add_filter( 'manage_users_columns', 'my_users_columns' ); function my_users_columns( $columns ){  

利用.HTACCESS限制IP登陆WORDPRESS后台

最近一朋友的博客添加了翼帆兄的邮件通知后,后台老是被人恶意登陆,收到一大堆的登陆失败提醒.之前就问过我关于后台防护的方法,由于一直没有时间,也没有给发过去. 今天呢,就给大家分享一下利用.htaccess来限制只有自己的电脑IP可以登录WordPress后台的方法,如此一来别人不管怎么样都别想登陆进去了- 利用.htaccess限制IP登陆: 1.固定IP 如果你是使用固定IP的話,在wp-admin下新增.htaccess文件 新增以下内容,将红字部份改为你的IP即可,网址看你要转向到哪个网页

wordpress后台登陆默认地址及后地址修改

wordpress博客的默认地址不就是/wp-admin 如你的域我是 http://www.xxxxx.com/那么wordpress博客的后台地址就是http://www.xxxxx.com/wp-admin了哦. 为了安全我们可能会把wordpress后台地址修改修改 使用代码 如果你不喜欢插件,可以将下面的代码添加到当前主题的 functions.php 文件:  代码如下 复制代码 //保护后台登录 add_action('login_enqueue_scripts','login_p

WordPress后台显示未回复评论及当前用户的评论的设置

我们要实现的功能图如: 上网搜了一下,发现有个插件DX Unanswered Comments(下载地址)可以实现这样的功能,只要上传安装好该插件,然后进后台 ? 设置 ? DX Unanswered Comments,在Authors List那里填上管理员的登录名,多个登录名用半角逗号隔开,保存即可. 然后进入WordPress后台 ? 评论,页面顶部就多了个 Non-replied 的筛选链接,点击即可查看管理员没有回复过的评论,还有个筛选链接是 Non-replied ? Top Lev