我想要一个在ASP.NET中生成验证码图片的函数,在网上搜了很多,都用到了SESSION或COOKIE,除了SESSION和COOKIE难道没有其他方法了吗?
还有一些生成验证码的类,但是实在看不懂该如何使用,都只是写到containerPage.Response.WriteBinary()就完了,我知道这是输出HTTP流至客户端,但是我在页面上放一个IMAGE图片,这个图片该如何将生成的流显示出来呢?没有一篇文章说明使用方法的.
希望各位朋友可以帮忙解释一下,我需要不用SESSION和COOKIE的生成验证码的方法.
谢谢了.
还有一些生成验证码的类,但是实在看不懂该如何使用,都只是写到containerPage.Response.WriteBinary()就完了,我知道这是输出HTTP流至客户端,但是我在页面上放一个IMAGE图片,这个图片该如何将生成的流显示出来呢?没有一篇文章说明使用方法的.
希望各位朋友可以帮忙解释一下,我需要不用SESSION和COOKIE的生成验证码的方法.
谢谢了.
==
那打算存放在那里?
除了SESSION和COOKIE应该还有其他方法吧?
SESSION占资源,如果持续访问生成图片的页面的话会不会不断生成SESSION后果我也不知道...COOKIE的话不能保证客户端禁用.
这个 这个里面用的是ViewState
禁用cookie....客户端要是禁止显示图片的话 那还没法子验证了呢 抬杠 呵呵!~
但是验证码是防范攻击者的,难保他不会耍什么手段让每次都产生一个SESSION
至于COOKIE这个东西,上级领导是不建议使用的,我也是没有办法咯!所以才上来求助.
刚找到了直接在页面Response.WriteBinarty出图片的方法来.直接写在ASPX页的某个位置上应该是可以实现的.
谢谢楼上兄弟.
继续顶吧.
用viewstate的话请问和直接生成验证码后赋给一个Label.Text有何区别呢?
一样会保存到页面的_VIEWSTATE上啊.这样会安全吗?
首先:创建验证码图片,把图片保存到一个目录
在页面上放一个img src=‘该图片的路径’
用session保存生成时的验证码
也可以用cookie保存
还可以用cache保存
还可以用txt文本保存
就看你自己怎么保存了
cookies
viewstate
加密url参数仅能如此了.
产生图片(向图片写字符串)的地方和你调用验证的地方不是同一个页面 所以你没有办法用Label.Text传递值 viewstate可以进行传递
不管怎样都得保存验证码以进行比较 本来也没有绝对的安全啊
网上的方法我看过了,现在的要求写明了不可以用SESSION或者COOKIE!
我要的就是将图片和验证码直接在页面输出,而非再搞一个Validate.aspx页面来做图片地址,因为这样子是必须用到cookie或者session的.
我相信一定会有办法的!
Cookies和Session所起到的作用是保存随机生成的验证码字符串到待验证的页面进行后台验证。
注意Cookies记得加密验证码。否则跟没设验证码没多大差别。
Session相对方便些。不需要加密。但有时会比较容易丢失。