javascript不使用图片验证与服务端检测验证码方法

网页特效不使用图片验证与服务端检测验证码方法

很多源码都是通过请求服务器来匹配验证码

突然想到,如果在浏览器通过salt+md5混合加密后,与密文(在页面上)匹配,即可在本地

知道验证码是否正确

var seccode_hash = 'xxxxxx'; // 32位加密后的验证码
var seccode_salt = 'xxsxxx'; // 随机字符
var seccode_count = 255; // 加密次数

当用户提交时,将验证码加密,与密文匹配:

// 长度为8位的英文(大小写忽略)+数字的验证码,穷举约为 > 2万亿

var hash = '12345678';
hash = md5(hash + seccode_salt);
for(var i = 0; i < seccode_count; ++i) {
    hash = md5(hash);
}
if(hash != seccode_hash) {
    alert('验证码错误!');
}else{
    alert('通过');
}

将验证码明文提交到服务器,在服务端再次检测

而刷新验证码,则需要通过ajax请求接口,
返回新验证码的密文,和验证码图片的base64,该接口可以进行gzip压缩减少流量
而不采用url请求验证码图片

时间: 2024-09-16 23:57:52

javascript不使用图片验证与服务端检测验证码方法的相关文章

WCF RIA Services 客户端、服务端的处理方法和例子

Silverlight客户端访问 1. 首先Project Link到服务端项目,Build服务端项目是在客户端项目的Generated_Code和其他一些目录下会生成相关的代码 2. 使用代码或XAML(DomainDataSource )访问服务 xmlns:domain="clr-namespace:RIA.Web.Services"Title="Demo Page" Style="{StaticResource PageStyle}" x

ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)

ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证,在默认的情况下,基于ValidationAttribute的声明是验证被使用,我们只需要将相应的ValidationAttribute应用到Model的类型或者属性上即可.对于自定义验证,我们也只需要定义相应的Validation就可以了,不过服务端验证比较简单,而客户端验证就要稍微复杂一些,本文提供一个简单的实例说明在ASP.NET MVC中实现自定义验证的基本步骤.[源代码从这里下载] 一.AgeRangeAttrib

android-HttpClient上传信息(包括图片)到服务端

需要下载apache公司下的HttpComponents项目下的HTTPCLIENT ----------地址为http://hc.apache.org/downloads.cgi 主要是用到了httpmime-4.1.2.jar包 android客户端: 以下是请求action的jsp表单(测试用) <form action="AddFoodStyle" enctype="multipart/form-data" method="post"

[100分]求ms ajax中关于js 调用服务端代码的方法

问题描述 以前用AjaxPro好像很容易,但换成MsAjax后不知该怎么做.要能实现异步回传的,就是在页面中使用了UpdatePanel控件.我提问一般都是给100分的.知道的快来吧. 解决方案 解决方案二:没用过.解决方案三:该回复于2008-04-10 08:33:57被版主删除解决方案四:没用过.解决方案五:该回复于2008-04-10 08:33:55被版主删除解决方案六:我现在正在学一本书叫asp.netajax程序设计第II卷microsoftajaxlibrary异步通信层是陈黎夫

OPENSSL编程中获取服务端证书的方法

问题描述 我在客户端与服务端进行SSL握手之后用SSL_get_peer_certificate这个函数为什么得不到服务端的证书啊,它的返回值始终是NULL,有没有其他的方法获取服务端的证书呢求解答,谢谢 解决方案 解决方案二:这个要看你前面ssl_accept是怎么呼叫,因为这个函数不见得呼叫一次就能返回成功,要必须确定返回成功后(重复呼叫直到成功为止),才能得到服务器的certificate

使用AjaxPro.Net框架实现在客户端调用服务端的方法

此文档将使用AjaxPro.Net框架实现Ajax功能:在客户端异步调用服务端方法.AjaxPro.Net是一个优秀的.net环境下的Ajax框架,用法很简单,可以查阅相关资料,本文档是一个简单的实例讲述使用AjaxPro的几个关键点. 1.下载AjaxPro 组件.并将AjaxPro.dll引用到网站(或项目).下载:Download latest version 7.7.31.1. 2.修改Web.config.在 <system.web> 元素中添加以下代码. <configura

如何在服务端(Page.Write)调用自定义的JS方法

js 自从[javascript]自定义MessageBox一文发布以后,很多网友都来信询问,如何在服务端调用ShowInfo方法,周末休息想了个折中的办法来实现. 首先,我们应该可以先明确,为什么我们用Page.Write把自定义的JS方法输出到页面上为什么IE不能识别,会出现"XXX未定义"的错误.原因很简单,因为我们用Page.Write输出的脚本是出现在页面的最顶端.IE读到是javascript函数的时候,就开始执行,但是此时我们link的js文件并未被IE读入,所以IE无法

使用AjaxPro.Net框架实现在客户端调用服务端的方法_实用技巧

此文档将使用AjaxPro.Net框架实现Ajax功能:在客户端异步调用服务端方法.AjaxPro.Net是一个优秀的.net环境下的Ajax框架,用法很简单,可以查阅相关资料,本文档是一个简单的实例讲述使用AjaxPro的几个关键点. 1.下载AjaxPro 组件.并将AjaxPro.dll引用到网站(或项目).下载:Download latest version 7.7.31.1. 2.修改Web.config.在 <system.web> 元素中添加以下代码. <configura

asp.net代码部署与服务端获取数据示例

我准备写一个ztree使用系列的教程基于asp.net的,希望能坚持下去. 本教程基于一个city.xml的全国数据文件,大家可以到这里下载. 1.Ztree介绍   zTree 是一个依靠 jQuery 实现的多功能 "树插件".优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点.     zTree 是开源免费的软件(MIT 许可证).如果您对 zTree 感兴趣或者愿意资助 zTree 继续发展下去,可以进行捐助. zTree v3.0 将核心代码按照功能进行了分割,