Sina App Engine(SAE)入门教程(4)- SaeVCode(验证码服务)使用
参考资料
使用教程
所有的验证码原理都是生成一个vcode字符串,存到session中,和用户的输入进行比较判断,以下是一个使用验证码服务的完整实例:
首页index.html
<html> <title>Sae Vcode demo</title> <body> <form action="check.php"> <input type="text" name="vcode"><img src="vcode.php"> <input type="submit" value="Submit"> </form> </body> </html>
生成验证码的脚本vcode.php
<?php session_start(); $vcode = new SaeVCode(); if ($vcode === false) var_dump($vcode->errno(), $vcode->errmsg()); $_SESSION['vcode'] = $vcode->answer(); $question=$vcode->question(); $imgdata = file_get_contents($question['img_url']); header("content-type:image/jpg"); echo($imgdata); ?>
用户提交验证码判断脚本check.php
<?php $vcode = $_REQUEST['vcode']; session_start(); if($_SESSION['vcode'] != $vcode) { echo 'Vcode error'; }else{ echo "Vcode right"; }
本实例演示地址
http://lazydemo.sinaapp.com/saevcode/
代码打包下载地址
http://lazydemo.sinaapp.com/saevcode/saevcode.zip
Sina App Engine(SAE)入门教程(4)- SaeVCode(验证码服务)使用的更多相关文章
- Sina App Engine(SAE)入门教程(2)-Mysql使用
如果你还没有SAE的账号,请在http://sae.sina.com.cn 注册新用户.具体的注册流程请参见:Sina App Engine(SAE)入门教程(1)在常规的环境下,我们可以通过http ...
- Sina App Engine(SAE)入门教程(8)- SaeFetchurl使用
fetchurl是什么? FetchURL是SAE为开发者提供的分布式网页抓取服务,用来同步的抓取http页面,FetchURL针对国内的网络的做了优化,内部有调度系统,尽可能保证用户快速的抓取到目标 ...
- Sina App Engine(SAE)入门教程(3)-KVDB使用
简介 因为传统关系型数据库在分布式环境下表现的扩展性不足等缺点,近年来NoSQL的概念渐渐成为业界关注的焦点,越来越多的技术人员也习惯于使用NoSQL数据库进行日常开发,SAE为了应对这种新需求,也进 ...
- Sina App Engine(SAE)入门教程(5)- SaeSegment(中文分词服务)使用
分词能干什么? 提取一篇文章的关键字 检测特定的段落中有没有违禁词 智能机器人 …..尽你所想 开启SAE 分词服务 首先你需要在sae的管理面板开始分词服务后才能使用sae的服务.具体的开启操作: ...
- Sina App Engine(SAE)入门教程(1)
此教程只针对刚接触SAE的小白用户,资深码农.高手请绕道.首先还是一个经典的实例,hello sae. 创建应用 在注册完账号之后,需要到 http://sae.sina.com.cn/?m=myap ...
- Sina App Engine(SAE)入门教程(7)- Storage使用
参考阅读 sae storage api 文档 Storage 说明文档 Storage 大文件上传说明 storage是什么? 因为sae禁用了代码环境的本地读写,但是在网站运行的过程中,必定会出现 ...
- Sina App Engine(SAE)入门教程(10)- Cron(定时任务)使用
参考资料 SAE Cron说明文档 Cron能干什么? cron 可以定时的触发一个脚本,在sae上最大的频率是一分钟一次.你可以用其来完成自己需要的业务逻辑,例如定期的抓取某些网页完菜信息的采集,定 ...
- Sina App Engine(SAE)入门教程(9)- SaeMail(邮件)使用
参考资料: SAE mail api 文档 怎么使用? 参见代码: <?php $mail = new SaeMail(); $f = new SaeFetchurl(); $img_data ...
- Sina App Engine(SAE)入门教程(6)- memcache使用
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调用到内 ...
随机推荐
- OS X EI Capitan安装mcrypt
OS X EI Capitan安装mcrypt (我的博客原文:http://www.jmolboy.com/2015/12/01/mcrypt-extension-on-EI-Capitan/) ...
- 如何通过jquery隐藏和显示元素
以下几种方式可以隐藏一个元素:1,CSS display的值是none.2,type="hidden"的表单元素.3,宽度和高度都显式设置为0.4,一个祖先元素是隐藏的,该元素是不 ...
- 关于华为C8812救砖教程
问题:华为C8812刷机后,开机显示:---------------------------------------------------------------- Image signature ...
- 使用Animation实现Button的透明度Opacity变化
接着之前的使Button的Content变化的例子,这里给出使Button的透明度变化的写法. 前台写法: 后台写法: 效果图:Opacity的值正在变小 效果还不错,前台是用Blend生成的,后台的 ...
- oracle 11g 通过透明网关链接mysql
之前转载过一篇在Windows上安装的,自己实际在centos上安装了一下.以下为安装记录: 一.操作系统环境 二.数据库环境(用oracle用户登录) 三.DG4ODBC 在Oracle DB 11 ...
- 多实例MySQL批量添加用户和密码并授权
OS:Cent OS 6.3 DB:5.5.14 如果一台服务器上有100个MySQL数据库实例,此时需要给不同端口的几个数据库添加用户名.密码并授权应用IP,一个个授权没问题,反正累的不是我,哇咔咔 ...
- vim命令总结
前言 本文翻译自:http://bencrowder.net/files/vim-fu/,参考了VIM中文帮助. Google翻译结果和实际操作结果,对原文的部分内容重新整理,删除和添加了 部分内容并 ...
- 如何保持iOS上键盘出现时输入框不被覆盖
在 iOS5 上请求显示键盘时,系统从屏幕底部将键盘滑入上来,位于应用的内容之上. (墙内:http://mikixiyou.iteye.com/blog/1488302) 如果屏幕中的内容项目比较多 ...
- UML中的六大关系
转自:http://www.cnblogs.com/shengtianlong/archive/2010/10/23/1858953.html UML定义的关系主要有六种:依赖.类属.关联.实现.聚合 ...
- auto和decltype
auto 1.编译器通过分析表达式的类型来确定变量的类型,所以auto定义的变量必须有初始值. auto i=; //ok,i为整型 auto j; //error,定义时必须初始化. j=; ...