⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0102.htm

📁 ASP教程宝典 书籍语言: 简体中文 书籍类型: 网络编程 授权方式: 免费软件 书籍大小: 500 KB
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>用ASP技术编制隐藏用户密码程序</strong></big></p>

<div align="right">---摘自《软件世界》(文/阿干)</div>
<p><span
    class="text">&nbsp;&nbsp;&nbsp; Internet(或Intranet)上带权限的查询,只有“合法用户”才能进入。这种机制是通过Web程序实现的。在访问过程中,如果程序设计得不好,就会将用户口令暴露在地址栏里(举一个例子:http://www.mmm.nnn/default.asp 
    ?superusername=john&amp;passwd=john123,用户名john和密码john123全露出来了),这样系统就无保密和安全性可言了。怎样避免这种现象的发生呢?本文将用一段ASP(Active 
    Server pages)程序,来说明隐藏用户名和口令的方法。</span></p>
    <p><span class="text">&nbsp;&nbsp;&nbsp; ASP是Microsoft公司处理动态网络数据库的最新技术之一,它可由Windows 
    NT 平台上的Web Server IIS4.0(Microsoft Internet Information Server4.0)解释并发布信息,用活动数据对象ADO(ActiveX 
    Data Object)组件并通过ODBC(Open Database Connectivity)访问多种数据库(后台)。本文中用到的数据库为ORACLE8,下边这段ASP程序(名字为DEFAULT.ASP)所实现的功能是对数据库的查询操作,仅取其隐藏用户名和密码的一部分进行说明。</span></p>
    <p><span class="text">&lt;% WEB_USER =Request(&quot;WEB_USER&quot;) 'WEB用户名 %&gt;</span></p>
    <p><span class="text">&lt;% WEB_USER_PASSWD =Request(&quot;WEB_USER_PASSWD&quot;) 'WEB用户的密码 
    %&gt;</span></p>
    <p><span class="text">&lt;% '将WEB用户名和密码加密,方法是,将变量值从左至右每个字符的ASCII码加32,生成新的字符串,当执行到此时,地址行上显示出的,是“加密”以后的用户名和密码,而不是真正的用户名和密码,达到保密目的% 
    &gt;</span></p>
    <p><span class="text">&lt;% TEMP1=&quot;&quot; % &gt;</span></p>
    <p><span class="text">&lt;% For i=1 To Len(WEB_USER) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP2=Mid(WEB_USER,i,1) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP2=Chr(Asc(TEMP2)+32) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP1=TEMP1&amp;TEMP2 %&gt;</span></p>
    <p><span class="text">&lt;% Next %&gt;</span></p>
    <p><span class="text">&lt;% WEB_USER=TEMP1 %&gt;</span></p>
    <p><span class="text">&lt;% TEMP1=&quot;&quot; %&gt;</span></p>
    <p><span class="text">&lt;% For i=1 To Len(WEB_USER_PASSWD) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP2=Mid(WEB_USER_PASSWD,i,1) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP2=Chr(Asc(TEMP2)+32) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP1=TEMP1&amp;TEMP2 %&gt;</span></p>
    <p><span class="text">&lt;% Next %&gt;</span></p>
    <p><span class="text">&lt;% WEB_USER_PASSWD=TEMP1 %&gt;</span></p>
    <p><span class="text">&lt;%'建立和数据库的连接,定义ODBC名字(odbcname)、ORACLE用户名(orauser)及口令(orauser_passwd)%&gt;</span></p>
    <p><span class="text">&lt;%Set Conn = Server.CreateObject(&quot;ADODB.Connection&quot;)</span></p>
    <p><span class="text">Conn.Open 
    &quot;odbcname&quot;,&quot;orauser&quot;,&quot;orauser_passwd&quot;</span></p>
    <p><span class="text">%&gt;</span></p>
    <p><span class="text">&lt;% '建立查询语句-SQL语句%&gt;</span></p>
    <p><span class="text">&lt;%</span></p>
    <p><span class="text">var_sql=&quot;SELECT * FROM verifytab,dw_tab where 
    verifytab.user_pd='&quot;&amp;WEB_USER_PASSWD&amp;&quot;'&quot;</span></p>
    <p><span class="text">Set RS = Conn.Execute(var_sql) ’符合条件的记录生成于RS之中%&gt;</span></p>
    <p><span class="text">&lt;%'将用户名和口令翻译成正确的 
    ,但此时地址栏里显示不出来,达到了保密要求%&gt;</span></p>
    <p><span class="text">&lt;% TEMP1=&quot;&quot; %&gt;</span></p>
    <p><span class="text">&lt;% For i=1 To Len(WEB_USER) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP2=Mid(WEB_USER,i,1) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP2=Chr(Asc(TEMP2)-32) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP1=TEMP1&amp;TEMP2 %&gt;</span></p>
    <p><span class="text">&lt;% Next %&gt;</span></p>
    <p><span class="text">&lt;% WEB_USER=TEMP1 %&gt;</span></p>
    <p><span class="text">&lt;% TEMP1=&quot;&quot; %&gt;</span></p>
    <p><span class="text">&lt;% For i=1 To Len(WEB_USER_PASSWD) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP2=Mid(WEB_USER_PASSWD,i,1) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP2=Chr(Asc(TEMP2)-32) %&gt;</span></p>
    <p><span class="text">&lt;% TEMP1=TEMP1&amp;TEMP2 %&gt;</span></p>
    <p><span class="text">&lt;% Next %&gt;</span></p>
    <p><span class="text">&lt;% WEB_USER_PASSWD=TEMP1 %&gt;</span></p>
    <p><span class="text">&lt;% '验证输入的WEB用户名和口令是否正确,若是,往下进行,否则,返回到default.htm调用,它是IIS默认的调用文件%&gt;〈〉</span></p>
    <p><span class="text">&lt;%If WEB_USER=&quot;superuser&quot; and 
    WEB_USER_PASSWD=&quot;superuserpd&quot; Then</span></p>
    <p><span class="text">else</span></p>
    <p><span class="text">If RS.EOF Then</span></p>
    <p><span class="text">Response.Redirect(&quot;default.htm&quot;)</span></p>
    <p><span class="text">End If</span></p>
    <p><span class="text">End If </span></p>
    <p><span class="text">%&gt;</span></p>
    <p><span class="text">&lt;%'下边是用FRONTPAGE 98 设计的FORM界面,内容省略%&gt;</span></p>
    <p><span class="text">&lt;html&gt;</span></p>
    <p><span class="text">&lt;head&gt;</span></p>
    <p align="justify"><span class="text">……</span></p>
    <p><span class="text">大家不妨试一下,浏览器端无任何不安全信息,保密效果很好。 
    </span>

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -