网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.通过地址栏传递参数.通过url传递.
.判断checkbox是否至少有选择一项.
.Web网站的错误控制.
.ASP技术在论坛中的运用(五)(吐血.
.在access中增加农历支持模块.
.使用NextRecordset通过一个Conne.
.几种常用排序算法(asp) .
.用ASP实现从SQL Server导出数据到.
.创建具有JScript的HTML的XMLHTTP.
.用ASP和WML来实现数据库查询.
.自动清空站点目录下所有文件.
.用XMLHTTP Post/Get HTML页面时的.
.使用ISAPI过滤器增强IIS的功能.
.在红蜻蜓中实现多房间.
.个人主页的数据库解决方案ASP.
.把网页中的电话号码生成图片的AS.
.ASP中巧用存储过程.
.ASP原码加密工具介绍.
.windows 2003下正确使用ISAPI_Re.
.ADO如何善用RecordSet组件呢?.

网络开发之编程技巧之一(有效验证用户的登录)

发表日期:2000-4-20


  在做网络关键事务的应用开发中,特别是有关有特定面向性的应用开发时,我们需要考虑的问题要比单机编程多得多.
这些因扰主要是来自于几方面:
  首先,是所有基于WEB的应用都是建立在开放系统上的,客户端几乎总能看得见你或多或少的程序源码痕迹,虽然这对网络开发的快速壮大发展起到了良好的作用,但对于许多习惯于使用传统环境编程的程序员来说,可以说是一场恶梦,我们再也不能使用传统惯用的明码内嵌方式的验证了,因为我们所有需要的验证材料,几乎都能从客户端源码中分析出来,因而,在客户端使用明码验证思路, 在基于WEB的网络开发中,显然是行不通的。

  第二,来自浏览器的干扰,基于WEB的编程,不管你使用的是什么方式,你总得通过浏览器作为你最终的实现终端,这是一条谁也不能改变的客观现实,这样, 浏览器上许多原本是为方便用户浏览而设的功能, 会成为我们WEB程序的致命杀手, 举个简单的例子,你写个很完美的身份验证页面, 并且这个验证页面的确也起到了效用,对客户请求做了全面的验证,但是, 当你的程序引导用户进入实质性事务处理页面时, 用户为了方便使用了浏览器的收藏功能,很不幸, 你若在事务处理页面不做任何验证的话, 你在验证页的所作的所有守护功能上的努力都成了泡影,一切形同虚设,客户下次进入时, 只需要点收藏页就能进入事务处理了,若点收藏页的不是您可爱的客户们, 而是那些活跃网际的天才HACKER们,你难道不觉得你的作品很失败吗?就我而言,我觉得这是一种对程序员的致命嘲讽,太可悲了!!!

  另外, 我们还有一些来自于网络上操作系统漏洞的困扰,当然, 这些因素通常的影响不大,并且, 我们也几乎对此无能为力,这方面的解决方案,我们只能求助于那些生产操作系统的大厂商,我们所能做的是,只能尽力防范来自程序本体的BUG。
说了这么多, 其实归根也只是一点内容, 那就是,基于WEB的开发让我们走进了一个全新的程序世界, 这个世界到处充斥着危险与自由,我们该如何去面对呢?这一次我们先想个办法把用户验证做到实处吧,在用户验证中, 最常用的就是IP验证,但是, 我个人不提倡使用直接的IP验证, 那样太危险了,只要稍有软件知识就很容易找出程序是否使用了直接IP验证及网络中其它用户的IP值,这样, IP验证就会形同虚设,我想到的是IP的变码验证方法, 姑且让我这么叫吧,其实实现的思路并不复杂, 但却是一种比较有效的验证方法,具体如下:我们把IP与登录时间这个时刻变化的密钥结合起来,只需要通过一些简单的可还原代数运算,就能生成一个不断动态变化的密码了,然后呢,我们再把生成密钥的时间与密码一起通过页面不断传输到下一处理流程,在每个处理流程工作前都使用传输过来的时间及请求服务的IP对密码进校验,相异则退出,这样,我们的处理流程就会使用一个每次进入都不同的密钥进行验证,这样的好处就是,加密的密钥是一个精确到秒的动态数,很少有人能在有限时间内猜中这个密钥,这样,即使HACKER天才们知道了你的加密算法, 他们也只能干对着屏幕光火, 因为,他们无法准确命中其他用户的登录时间,嘻嘻, 这一招黑吧!就让HACKER去发挥聪明才智吧!哈哈,这样, 作为网络上正方的程序员们,开心笑一个吧,作为网络反方的HACKER们永远也不可能在抢答时间到之前找到答案的 !!!这样就大大减少了我们被HACKER们玩弄的机率!当然也就同时消除了大部分让我们被用户责难安全性问题的尴尬境地,至少会让我们晚上睡得更安心!OK!JACK今晚还有很多事要做, 就先写到这了!文章内容权当满足一下JACK那颗不断膨胀的虚荣心吧!亲爱的朋友们,BYE!

上一篇:IIS 5.0新功能 人气:13944
下一篇:优化MICROSOFT ACCESS提高速度 人气:12955
浏览全部网络开发的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐