Database 版 (精华区)
发信人: starstar (今天打老虎), 信区: Database
标 题: ASP技术编制隐藏密码(转载)
发信站: 哈工大紫丁香 (2001年09月25日12:14:26 星期二), 站内信件
【 以下文字转载自 WebDev 讨论区 】
【 原文由 lyfe 所发表 】
首页| 免费大全 | 外语考试 | 考研追踪 | 在线服务 | 软件 | 网页设计
用ASP技术编制隐藏用户密码程序
摘自:软件世界 作者:阿干
Internet(或Intranet)上带权限的查询,只有“合法用户”才能进入。这种机制是
通过Web程序实现的。在访问过程中,如果程序设计得不好,就会将用户口令暴露在地址
栏里(举一个例子:http://www.mmm.nnn/default.asp ?superusername=john&passwd=
john123,用户名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 Conn
ectivity)访问多种数据库(后台)。本文中用到的数据库为ORACLE8,下边这段ASP程
序(名字为DEFAULT.ASP)所实现的功能是对数据库的查询操作,仅取其隐藏用户名和密码
的一部分进行说明。
<% WEB_USER =Request("WEB_USER") 'WEB用户名 %>
<% WEB_USER_PASSWD =Request("WEB_USER_PASSWD") 'WEB用户的密码 %>
<% '将WEB用户名和密码加密,方法是,将变量值从左至右每个字符的ASCII码加32,生
成新的字符串,当执行到此时,地址行上显示出的,是“加密”以后的用户名和密码,
而不是真正的用户名和密码,达到保密目的% >
<% TEMP1="" % >
<% For i=1 To Len(WEB_USER) %>
<% TEMP2=Mid(WEB_USER,i,1) %>
<% TEMP2=Chr(Asc(TEMP2)+32) %>
<% TEMP1=TEMP1&TEMP2 %>
<% 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=TEMP1&TEMP2 %>
<% Next %>
<% WEB_USER_PASSWD=TEMP1 %>
<%'建立和数据库的连接,定义ODBC名字(odbcname)、ORACLE用户名(orauser)及口令
(orauser_passwd)%>
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "odbcname","orauser","orauser_passwd"
%>
<% '建立查询语句-SQL语句%>
<%
var_sql="SELECT * FROM verifytab,dw_tab where verifytab.user_pd='"&WEB_USER_
PASSWD&"'"
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=TEMP1&TEMP2 %>
<% 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=TEMP1&TEMP2 %>
<% Next %>
<% WEB_USER_PASSWD=TEMP1 %>
<% '验证输入的WEB用户名和口令是否正确,若是,往下进行,否则,返回到default.h
tm调用,它是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界面,内容省略%>
<html>
<head>
……
大家不妨试一下,浏览器端无任何不安全信息,保密效果很好。
--
讨厌孤独
忍受孤独
享受孤独
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.170.204]
--
※ 转载:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: hfi.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.385毫秒