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

📄 0056.htm

📁 asp教程宝典``还不错
💻 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实现WEB页面分用户权限的访问</strong></big></p>

<div align="right">---(文/甘冀平)</div>

 问题的引出<br>

 前几日上网,看到有网友在电脑报论坛的ASP版提出如下的问题:“我试着用ASP的方法为网页设置了口令,但
是用户只要知道下一步链接的文件名, 就可以在地址栏输入该文件名而绕过口令文件直接浏览该文件。 怎样才能达到真
正加密的目的:如果不输入口令、用户名就无法浏览网页?”<br>

 上面的问题,是在基于Internet/Intranet的网络中开发WEB应用时,经常要涉及的一个方面。对于用ASP开发的
应用,根据个人经验,解决上面的问题,一般有2种方法,分别详细介绍如下:<br>

 例程说明<br>

 为说明方便起见,以下各方法假设针对如下的例子:<br>

 服务器IP地址为192.188.188.188;在服务器上开设一个虚拟目录:/mytest,所有测试文件均位于此路径下;<br>
主文件为myindex.asp,用户首要登录文件为mylogin.asp;测试的合法用户名为mytest,口令也为mytest。<br>

 解决方法1<br>

 - 编写mylogin.asp内容<br>

<pre>

&lt; %@ Language=VBScipt % &gt;
&lt; @Response.Buffer=true% &gt;
&lt; html &gt;&lt; head &gt;&lt; title &gt;用户登录&lt; /title &gt;&lt; /head &gt;
&lt; body &gt;
&lt; % 
if request(&quot;username&quot;)=&quot;mytest&quot; and request(&quot;password&quot;)=&quot;mytest&quot; then
response.redirect &quot;myindex.asp&quot;
end if
% &gt;
&lt; font style=&quot;font-size:11pt&quot; &gt;请输入登录用户名称与口令&quot;&lt; /font &gt;&lt; br &gt;
&lt; form action=&quot;mylogin.asp&quot; method=&quot;post&quot; &gt;
&lt; br &gt;用户名称:&lt; input type=text name=&quot;username&quot; &gt;
&lt; br &gt;用户口令:&lt; input type=password name=&quot;password&quot; &gt;
&lt; br &gt;&lt; input type=submit value=&quot;登录&quot; &gt;
&lt; /form &gt;
&lt; /body &gt;&lt; /html &gt;
</pre> 

 - 编写一个ASP包含文件,名字为myrefer.asp<br>

<pre>

&lt; %@ Language=VBScipt % &gt;
&lt; @Response.Buffer=true% &gt; 
&lt; % 
myvaild=instr(lcase(request(&quot;HTTP_REFERER&quot;)),&quot;http://192.188.188.188/mytest&quot;) 
if myvaild=0 then
response.redirect &quot;mylogin.asp&quot;
end if
% &gt; 
</pre> 

 - 修改目录下的其他ASP文件头<br>

 修改目录下的其余ASP,在每个ASP文件的头部,都添加如下的代码:

<pre>
&lt; %@ Language=VBScipt % &gt;
&lt; !-- #include file=&quot;myrefer.asp&quot; -- &gt;
'以下为原文件内容 
......
 
</pre>



 解决方法2<br>

 - 编写global.asa文件<br>

 编写global.asa文件,放置在虚拟目录http://192.188.188.188/mytest/下,为了达到用户登录检查的目的,
只修改其中Session_OnStart的部分。<br>
<pre>
   ......

  &lt; Script RUNAT=Server Language=VBScript &gt;

  Sub Session_OnStart

  mystartpage=&quot;/mytest/mylogin.asp&quot;
  mycurrent=lcase(request(&quot;SCRIPT_NAME&quot;))
  if strcomp(mycurrent,mystartpage) then
  response.redirect mystartpage
  end if


  End Sub


  &lt; /Script &gt;
...... 
 
</pre>
总结

 从以上2种实现方法可以看出,第2种比较简单,但需要有单独的虚拟目录,这样才能编写global.asa文件使其
生效;第一种方法,虽然代码比较多,但不是所有文件都必须在虚拟目录中,这对于申请个人主页的用户,是比较可行的
一种方法。

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

⌨️ 快捷键说明

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