主题:  怎么样隐藏textbox控件

蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#162004/11/23 16:13:26
对这方面我知道的很少,二位是否可以赐教呢。


非常大鱼

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#172004/11/23 16:18:11
如果是文本的,我就可以根据特性从源代码中找到并提取出来,然后post给服务器.这个并没有什么难度



大梦男人

职务:普通成员
等级:1
金币:1.0
发贴:32
#182004/11/23 16:30:21
其实生成随机码很简单,就是调用Rnd[(number)]函数,用Randomize[number]做随机种子,Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器,赋给它新的种子值。如果省略 number,则使用系统计时器返回的值作为新的种子值。



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#192004/11/23 16:32:32
但是还是不懂,如何把这个post给服务器。有空我也去钻钻这个。
反正先给自己程序安装上验证吧。


非常大鱼

大梦男人

职务:普通成员
等级:1
金币:1.0
发贴:32
#202004/11/23 16:38:48
allinhands在上个帖子中说
引用:
如果是文本的,我就可以根据特性从源代码中找到并提取出来,然后post给服务器.这个并没有什么难度


你提取时的是一个随机码,你post给服务器时随机码就又是另个一个了,绝不会相同,除非时间会倒流,再说你怎么会看到源代码的,浏览器中的源代码只是编译过的html代码,并不是产生随机码的程序啊,我相信你在源代码中看不到个相标记的吧<script runat="server"></script>



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#212004/11/23 16:43:32
我没有说我可以看到源代码
我只是说如果你把验证码用文本的方式是显示给客户端是不安全的
所以现在一般的验证码都是图片



大梦男人

职务:普通成员
等级:1
金币:1.0
发贴:32
#222004/11/23 16:52:37
做验证码用图片不外呼就是防止人用粘贴的方法输入验证码,还有就是好看,如果要用图片显示也好办啊,先截取随机码字符,然后再用其值做为图片的路径不就行了吗,你要用几个值的随机码就用for循环几次就行了



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#232004/11/23 16:54:18
错了
如果按照你方法,验证码就没有意义了,这样的存在只是为了让客户去多输入一个字符串



大梦男人

职务:普通成员
等级:1
金币:1.0
发贴:32
#242004/11/23 16:56:29
哪请你说一下两者的区别



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#252004/11/23 16:58:09
假设一个程序来不停的尝试用暴力的方法来破解一个登陆程序,他需要向服务器发送用户名和密码.理论上来说是可以破解的.但是如果加上了验证码,而且这个验证码是用图片形式存在的,那么这个程序很难去去识别图片上的文字,那样发送的信息就不合法,自然无法验证.
如果你把验证码用文本的方法发送到了客户端,那么我提交的时候直接加上验证码就可以了.而且这个验证码是合法的.那么这个验证码就没有意义了.包括你说的用for的方式循环出图片.那样也是可以分析出验证码的
只是你说的手工输入和粘贴输入,那又有什么区别呢?

当然,验证的存在也不仅仅是防止暴力破解,总之就是防止客户不停的请求提交这个页面



大梦男人

职务:普通成员
等级:1
金币:1.0
发贴:32
#262004/11/23 17:11:02
我用Randomize[number]做随机种子,每次产生的随机数都是以系统时间为随机种子,也就是说每次的随机种子都是不一样的,所以每次产生的随机数也绝不相同,图片也好,文本也好,只是一种显示形式而已。
假设一个程序来不停的尝试用暴力的方法来破解一个登陆程序,他除了需要向服务器发送用户名和密码,还要发送一个验证码。但这个验证码在Page_Load之前是不会产生的,也就是说这个程序在发送之前验证码就已经错误了,当然更不会通过验证了。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#272004/11/23 17:14:30
我不用管你怎么生成验证码码,我只是发送了验证码啊,这个和个人手工输入没有什么区别.只是我可以自己写一个程序的不停的发送而已,就相当于我手动登陆失败一次我就再登陆一次,明白了么?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#282004/11/23 17:16:23
就相当于我现在要破解你的lshfong123这个帐号,我去登陆
我用lshfong123和密码:1234登陆,输入验证码,失败
我再用2234登陆,再失败
...


这样的效率当然不高,我就写一个程序来让它帮我来登陆
但是验证码如果是图片,那么只有人的眼睛才认识的.程序就不能帮我提交合法的数据来破解你的密码了.

就是这个道理,你想复杂了



大梦男人

职务:普通成员
等级:1
金币:1.0
发贴:32
#292004/11/23 17:21:28
验证码生成的值我已经赋于给textbox1.text,然后用textbox2.text来收集客户端发送过来的值,然后再验证textbox2.text是否等于textbox1.text,所以说我不管你客户端发没有发送,我只需要验证你客户端发送过来的值是否等于textbox1.text



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#302004/11/23 17:29:32
如果textbox1是可视的,那么我可以看到他的内容,所以我发送的验证码肯定正确