织梦验证码参数设置分析

所有的系统为了安全起见,都设置验证码或验证问题,这样不仅可以防止黑客攻击,更重要的是一个系统标准标志,实力的象征,这样说可能感觉有点夸张,但是不管怎么样验证问题,确实是一个系统所必须的。织梦里面的几乎所有用户提交的数据都有验证码或验证问答
  所有的系统为了安全起见,都设置验证码或验证问题,这样不仅可以防止黑客攻击,更重要的是一个系统标准标志,实力的象征,这样说可能感觉有点夸张,但是不管怎么样验证问题,确实是一个系统所必须的。织梦里面的几乎所有用户提交的数据都有验证码或验证问答,这样可以对系统作一个安全处理,但是,有时候,我们自己学习用,并不需要这个验证问题。本教程主要讲解如何设置验证问题,以及验证的原理分析。

  第一个问题,如何去掉验证码?这个简单只要在后台:系统——>验证安全设置里面,取消复选框即可,在这里我们不仅发现,所有与验证有关的设置都在这里了,如下图所示。
验证码参数设置
 
  织梦后台这个小功能,只是对验证进行配置,当我们选中或取消某个验证,例如,我们取消会员投稿这个验证,点击保存后,当注册会员,在发布内容后,点提交时,就不用填写验证码了,如果取消验证问答,那么,用户发有会员中心发布内容后,也不用去验证。

  原理分析:

  如上图所示,验证码参数设置里面所有东西,当我们点击确定后,就会被提交到后缀文件dede/sys_safe.php 里面,在这个文件里面,最核心的就是里面的这三行代码:

    $fp = fopen($safeconfigfile, "w") or die("写入文件 $safeconfigfile 失败,请检查权限!");
    fwrite($fp, $configstr);
    fclose($fp);

  这三行代码上面的,全是对于提交过来的内容进行处理后,放入变量$configstr里面了,当执行到这三行代码时,首先打开文件 $safeconfigfile = data/safe/inc_safe_config.php,然后,把我们在“验证码参数设置”所有配置内容,都写入到文件inc_safe_config.php这里面。这样当我们在前台或后台或者其它地方,用是不是需要验证码问题时,我们只需要,判断一下在inc_safe_config.php这个文件里面,是否有配置选择,如果有,则显示验证信息,这个判断一般用正则匹配系统函数preg_match(正则,字符串)来进行的。

  我们举一例子来模似这一过程,然后,再做总结。

  例如,我们以会员投稿是否开启为例,当我们选中会员投稿,即开启会员在投稿时的验证,然后,点确实,这时我们打开配置后的文件inc_safe_config.php,发现第一行$safe_gdopen = '1,2,3,4,5,7';这个里面中的数字3,就是会

员投稿,这个与后台的“验证码参数设置”,一一对应,当safe_gdopen=3时,表示,开启了会员在投稿时,需要验证,否则验证不显示。

  现在进入会员中心,当点击发布文章时,发现下面有了验证码,如下图所示。


  我们进入文件article_add.htm里面,找到这段代码, if(preg_match("/3/",$safe_gdopen)),正是这段代码才使得会员投稿时,显示或不显示会员验证功能。当我们在“验证码参数设置” 里面,取消会员投稿后,我们会发现,前

台会员投稿消失。其它的验证原理都一样,这里不一一分析了。

  总结:当我们设计配置文件时,可以参照织梦这种方法,织梦后缀所有的配置方式都差不多,跟这个类似——设计配置模板,然后,写一个php文件处理这个配置模板里面接收到的参数,然后,把这些参数,通过系统函数fopen()打开配置文件,通过fwrite 写入这些配置参数,然后,关闭这个文件,这样,当我们在后台配置后,就可以实时通过这三个系统函数,进行动态写入操作,让这个文件与我们后台配置的参数保持一致,这样我们在前台或后台,或者其它地方,只要把配置文件引入,然后,判断一下我们在后台配置的值有没有,若有则需要验证,否则不验证。

  其实,织梦后台里面的所有,配置,例如,系统——>系统基本参数里面,所以的,都是以这种方式,来配置的,以后我们进行织梦二次开发,或自己进行系统框架开发都可以对这个小功能进行参考。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

dedecms织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username)
用过织梦dedecms的人都知道,织梦会员系统相当强大,跟论坛程序差不多,对于使用会员系统的人来说,织梦系统足够用的了,但是,有时候,织梦系统很多的地方又不是我们所希望,或都说,有的地方不适合我们使用,这时候就要对织梦会员系统进行二次开发,所以,
我们在做 织梦模板 开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。跟版网整理了个一个这样功能的自定义函数。调用后效果如下: dedecms织梦artlist和list标签调用图集图片实现方法 函数代码 请将代码加入到 /includ
大家都知道,Discuz程序在发文章时有个【隐藏】功能,可以限制这个隐藏内容供某些级别的会员查看。 在织梦模板中,做些改动,也是可以实现的。例如:电话号码,下载地址等等。 前提是织梦开启会员功能,已经有了自定义字段。 一、建立文件 ajax_loginsta_c.p
大家在使用织梦的时候,用到会员中心可能涉及到多二级域名同步登录退出的问题,涉及到跨域,那么这个问题该如何解决呢?在一个技术大牛博客看到过此教程,特此转发分享给大家,解决大家问题。 首先打开 \include\dedeajax2.js 找到 DedeXHTTP = new XMLHttpR
大家在使用织梦标签调用手机站内容页上一篇下一篇的时候,发现下一篇调用的是上一篇的内容,织梦DEDE默认手机版内容页面点击下一篇却跳转到了上一篇怎么办? 这段代码可能是官方写错造成的,首先找到网站目录下面的/include/arc.archives.class.php文件,打