zoukankan      html  css  js  c++  java
  • session工具类作为项目中使用【注意注册为对象内方法的array使用】、分类的使用、验证码【重点】

    1.实现session的入库工具类
    注意在注册使用的方法和函数的区别在于:
    spl_autoload_register('handle');//这样注册的是一个函数
    spl_autoload_register(array(object,handle));//此时是一个对象的指定方法,使用类名进行调用的情形也是这样的

    这种情况在session_set_save_handle();//也是这么使用的


    session入库的工具类就是一个比较好用的工具
    【注意实现的工具类的设计和实现的工作:工具类相当于做扩展功能】

    ini_set();//实现在脚本中对php的修正,只是对当前脚本生效

    2.分类

    删除分类部分,需要对关联的分类也进行处理【如果是直接删除一类,也是递归删除】

    删除中需要删除失败的提示信息【工具类中也需要对错误的提示信息的显示】
    尤其在针对数据库操作的情况都需要进行

    【分类下的重名问题需要先查后插,这些是业务层需要仔细考虑的问题】

    【实现后台页内数据的提交:对提交的数据进行针对性操作和持久化,这就是所谓的数据处理。cgi组件】


    【重点】
    3.验证码部分

    验证码就是防止机器刷,导致被破解
    【原理】
    如何判断和生成验证码一致【是不是应该在js中生成验证码进行判断,减少服务器负载?】【js的话会被破解,不过也可以将验证码发到cookie,并且保存在session中】
    【将生成的验证码保存在session并且将验证码发给用户】
    【gd生成的也是一个资源】

    【注意:gd库通常使用来加水印或者缩略图】
    使用GD库进行验证码的生成步骤【使用gd库的函数进行处理】
    (1)创建一个GD画布【imagecreate:新建一个画布。imagecreatefromjpeg:打开一个图片】【HTML5中canvas也是这样】
    (2)操作画布【gd函数】
    将某个php文件只要一旦执行就将该文件生成一个图片,然后将这个图片引入其他HTML中的图片标签中,实现验证码的展示【src引用该脚本,由于该脚本执行生成一个图片,所以该脚本就是一张图片看待】


    【能否使用php生成数字(并且保存在session中),在js端进行画布创建,这样能够有效减轻服务器负载】

    【将验证码进行服务器判断的原因:http://www.jb51.net/article/55263.htm】

    【gd的基本操作】
    <?php

    $img = imagecreatetruecolor(500, 300);
    //var_dumP($img);
    //
    //分配绿色
    $green = imagecolorallocate($img, 0, 0xff, 0x0);
    //var_dump($green);

    //fill
    $result = imagefill($img, 0, 0, $green);
    //var_dump($result);

    //导出
    imagepng($img, './green.png');

    //
    imagedestroy($img);//将gd生成的资源进行销毁

    【实现验证码】
    (1)在指定路径上找到已经存在的背景图片,随机获取某张【进行打开:imagecreatefromjpeg()这样的方法】
    (2)随机文字【字符数字等需要保存在session中】
    (3)将生成验证码图片的代码包含入表单中,实现显示
    (4)表单提交,并且与session进行比对

    【以上就是验证码实现的机制,验证码的代码需要实际操作gd库进行创建工作】
    【下面就是一个能够生成数字和对应session的代码】
    【http://www.cnblogs.com/zox2011/archive/2011/09/14/2176251.html】
    <?php

    $image = imagecreate(50,25);

    imagecolorallocate($image,0,0,0);

    $color = imagecolorallocate($image,255,255,255);

    $code = mt_rand(1000,9999);

    session_start();

    $_SESSION['code'] = $code;

    imagestring($image,4,5,5,$code,$color);

    header("content-type:image/png");

    imagepng($image);

    ?>

  • 相关阅读:
    2019.08.26 学习整理
    day28
    python-day25(正式学习)
    自闭的一天
    python-day18(正式学习)
    python-day17(正式学习)
    python-day16(正式学习)
    别点进来!!!
    python-day15(正式学习)
    python-day14(正式学习)
  • 原文地址:https://www.cnblogs.com/shuoshuren/p/4232527.html
Copyright © 2011-2022 走看看