用ASP技术编制隐藏用户密码程序

2018-09-06 13:03

阅读:427

  Internet(或Intranet)上带权限的查询,只有“合法用户”才能进入。这种机制是通过Web程序实现的。在访问过程中,如果程序设计得不好,就会将用户口令暴露在地址栏里(举一个例子:,用户名john和密码john123全露出来了),这样系统就无保密和安全性可言了。怎样避免这种现象的发生呢?本文将用一段ASP(Active Server pages)程序,来说明隐藏用户名和口令的方法。

ASP是Microsoft公司处理动态网络数据库的最新技术之一,它可由Windows NT 平台上的Web Server IIS4.0(Microsoft Internet Information Server4.0)解释并发布信息,用活动数据对象ADO(ActiveX Data Object)组件并通过ODBC(Open Database Connectivity)访问多种数据库(后台)。本文中用到的数据库为Oracle(大型网站数据库平台)8,下边这段ASP程序(名字为DEFAULT.ASP)所实现的功能是对数据库的查询操作,仅取其隐藏用户名和密码的一部分进行说明。

<% WEB_USER =Request(WEB_USER) WEB用户名 %>

<% WEB_USER_PASSWD =Request(WEB_USER_PASSWD) WEB用户的密码 %>





<% For i=1 To Len(WEB_USER) %>

<% TEMP2=Mid(WEB_USER,i,1) %>

<% TEMP2=Chr(Asc(TEMP2)+32) %>

<% TEMP1=TEMP1TEMP2 %>

<% Next %>

<% WEB_USER=TEMP1 %>

<% TEMP1= %>

<% For i=1 To Len(WEB_USER_PASSWD) %>

<% TEMP2=Mid(WEB_USER_PASSWD,i,1) %>

<% TEMP2=Chr(Asc(TEMP2)+32) %>

<% TEMP1=TEMP1TEMP2 %>

<% Next %>

<% WEB_USER_PASSWD=TEMP1 %>

<%建立和数据库的连接,定义ODBC名字(odbcname)、Oracle(大型网站数据库平台)用户名(orauser)及口令(orauser_passwd)%>


Conn.Open odbcname,orauser,orauser_passwd

%>

<% 建立查询语句-SQL语句%>

<%


Set RS = Conn.Execute(var_sql) ’符合条件的记录生成于RS之中%>

<%将用户名和口令翻译成正确的 ,但此时地址栏里显示不出来,达到了保密要求%>

<% TEMP1= %>

<% For i=1 To Len(WEB_USER) %>

<% TEMP2=Mid(WEB_USER,i,1) %>

<% TEMP2=Chr(Asc(TEMP2)-32) %>

<% TEMP1=TEMP1TEMP2 %>

<% Next %>

<% WEB_USER=TEMP1 %>

<% TEMP1= %>

<% For i=1 To Len(WEB_USER_PASSWD) %>

<% TEMP2=Mid(WEB_USER_PASSWD,i,1) %>

<% TEMP2=Chr(Asc(TEMP2)-32) %>

<% TEMP1=TEMP1TEMP2 %>

<% Next %>

<% WEB_USER_PASSWD=TEMP1 %>

<% 验证输入的WEB用户名和口令是否正确,若是,往下进行,否则,返回到default.htm调用,它是IIS默认的调用文件%>〈〉

<%If WEB_USER=superuser and WEB_USER_PASSWD=superuserpd Then

else

If RS.EOF Then

Response.Redirect(default.htm)

End If

End If

%>

<%下边是用FRONTPAGE 98 设计的FORM界面,内容省略%>





……

大家不妨试一下,浏览器端无任何不安全信息,保密效果很好。


评论


亲,登录后才可以留言!