查看: 1251|回复: 0

实现网页密码验证的两个方法【转.mogoog】

[复制链接]
发表于 2009-6-3 02:06:40 | 显示全部楼层 |阅读模式
  我们在访问一些网站时,经常会碰到需要输入“用户名和密码”的网页,用户名和密码的验证给网站的安全带来保障,一般网页的安全设置以目录为单位,通过设置目录的属性可以保证网站的安全,这样的网页是如何制作出来的呢?下面将介绍在网页设计中密码验证的两种方法,希望能给网页设计者有所帮助。<br />  一、使用IIS所提供的工具<br />  如果设计者是管理员级的用户,我们可以用一种简单的方法来实现密码验证。假设你安装的Web服务器是IIS,我们可以通过IIS所提供的“Internet服务管理员”进行目录安全设置。假设我们把/Sample设置成安全目录,首先启动“Internet安全服务管理员”,打开“默认的站点”,我们选取“Home”目录。接着选取“编辑属性”,在出现的“Sample属性”窗口中,选取“目录安全设置”选项,然后按下“匿名存取及验证控制”中的编辑按钮,将“允许匿名”按钮取消,选取“基本”。接下来当上网者要浏览这个目录的网页时,浏览器就会显示“请输入用户名和密码”的窗口,要求用户输入用户名和密码,因为IIS验证的方法是与NT服务器结合在一起,只要是NT服务器的用户,就是IIS的用户,因此这里输入的用户名和密码是已经在NT服务器中建立的用户及对应的密码。用这种方法我们可以轻松实现对Sample目录网页的密码验证。<br />  二、使用ASP程序<br />  利用程序来进行密码验证,这种方法较为通用,它对Web服务器没有具体要求,它是借助数据库及ASP程序进行设计,来实现一种通用网页加密。<br />  首先,我们利用Microsoft Access建立“用户名称及密码”的数据表,假设将这个表取名为User,数据库名为Usercheck.mdb,数据表的结构如下:<br />  字段说明 字段名称 数据类型 数据长度<br />  用户名称 ID 文本 15<br />  密码 PWD 文本 15<br />  验证程序PASS.ASP的源代码如下:<br />
  1.  &lt;%&#160; <br />  Function&#160;Check(&#160;ID,&#160;Pwd&#160;)&#160; <br />  &#160;Dim&#160;conn,&#160;par,&#160;rs&#160; <br />  &#160;Set&#160;conn&#160;=&#160;Server.CreateObject(&quot;ADODB.Connection&quot;)&#160; <br />  &#160;par&#160;=&#160;&quot;driver={Microsoft&#160;Access&#160;Driver&#160;(*.mdb)}&#160;&quot;&#160; <br />  &#160;conn.Open&#160;par&#160;&amp;&amp;&#160;&quot;;dbq=&quot;&#160;&amp;&amp;&#160;Server.MapPath(&quot;usercheck.mdb&#160;&quot;)&#160; <br />  &#160;sql&#160;=&#160;&quot;Select&#160;*&#160;From&#160;users&#160;Where&#160;ID=&#160;&amp;&amp;&#160;ID&#160;&amp;&amp;&#160;And&#160;Pwd&#160;=&#160;&amp;&amp;&#160;Pwd&#160;&amp;&amp;&quot;&#160; <br />  &#160;Set&#160;rs&#160;=&#160;conn.Execute(&#160;sql&#160;)&#160; <br />  &#160;If&#160;rs.EOF&#160;Then&#160; <br />    &#160;Check=&#160;False&#160; <br />  &#160;Else&#160; <br />    &#160;Check=&#160;True&#160; <br />  &#160;End&#160;If&#160; <br />  End&#160;Function&#160; <br />  %&gt;&#160;&#160; <br />  &lt;%&#160; <br />  If&#160;IsEmpty(Session(&quot;Passed&quot;))&#160;Then&#160;Session(&quot;Passed&quot;)&#160;=&#160;False&#160; <br />  Head&#160;=&#160;&quot;请输入用户名和密码&quot;&#160; <br />  ID&#160;=&#160;Request(&quot;ID&quot;)&#160; <br />  Pwd&#160;=&#160;Request(&quot;Pwd&quot;)&#160; <br />  If&#160;ID&#160;=&#160;&quot;&quot;&#160;Or&#160;Pwd&#160;=&#160;&quot;&quot;&#160;Then&#160; <br />  &#160;Head&#160;=&#160;&quot;请输入用户名和密码&quot;&#160; <br />  Else&#160;If&#160;Not&#160;Check(&#160;ID,&#160;Pwd&#160;)&#160;Then&#160; <br />  &#160;Head&#160;=&#160;&quot;用户名称或密码有错&quot;&#160; <br />  Else&#160; <br />  &#160;Session(&quot;Passed&quot;)&#160;=&#160;True&#160; <br />  End&#160;If&#160; <br />  If&#160;Not&#160;Session(&quot;Passed&quot;)&#160;Then&#160; <br />  %&gt;&#160; <br />  &lt;html&gt;&#160; <br />  &lt;head&gt;&#160;&lt;title&gt;&lt;/title&gt;&#160;&lt;/head&gt;&#160; <br />  &lt;body&#160;BGCOLOR=&quot;#FFFFFF&quot;&gt;&#160; <br />  &lt;h2&#160;ALIGN=&quot;CENTER&quot;&gt;&lt;%=Head%&gt;&lt;/h2&gt;&#160; <br />  &lt;hr&#160;WIDTH=&quot;100%&quot;&gt;&#160; <br />  &lt;form&#160;Action=&quot;&lt;%=Request.ServerVariables(&quot;PATH_INFO&quot;)%&gt;&quot;&#160;Method=&quot;POST&quot;&gt;&#160; <br />  &#160;&lt;table&#160;BORDER=&quot;1&quot;&#160;CELLSPACING=&quot;0&quot;&gt;&#160; <br />    &lt;tr&gt;&#160; <br />    &#160;&lt;td&#160;ALIGN=&quot;RIGHT&quot;&gt;用户名称:&lt;/td&gt;&#160; <br />    &#160;&lt;td&gt;&lt;input&#160;Type=&quot;Text&quot;&#160;Name=&quot;ID&quot;&#160;Size=&quot;12&quot;&#160;Value=&quot;&lt;%=ID%&gt;&quot;&gt;&lt;/td&gt;&#160; <br />    &lt;/tr&gt;&#160; <br />    &lt;tr&gt;&#160;&lt;td&#160;ALIGN=&quot;RIGHT&quot;&gt;密码:&#160;&lt;/td&gt;&#160; <br />    &lt;td&gt;&lt;input&#160;Type=&quot;Password&quot;&#160;Name=&quot;Pwd&quot;&#160;Size=&quot;12&quot;&#160;Value=&quot;&lt;%=Pwd%&gt;&quot;&gt;&lt;/td&gt;&#160;&lt;/tr&gt;&#160; <br />  &#160;&lt;/table&gt;&#160; <br />  &#160;&lt;p&gt;&lt;input&#160;Type=&quot;Submit&quot;&#160;Value=&quot;&#160;确定&#160;&quot;&gt;&#160;&lt;/p&gt;&#160;&lt;/form&gt;&#160; <br />  &lt;hr&#160;WIDTH=&quot;100%&quot;&#160;align=&quot;center&quot;&gt;&#160; <br />  &lt;/body&gt;&#160;&lt;/html&gt;&#160; <br />  &lt;%Response.End&#160; <br />  End&#160;If&#160;%&gt;
复制代码
<br />这个验证合法性的页面具有通用性,只要在需要加密网页的最前面加上如下程序:<br />
  1. &lt;!&#160;--#include&#160;file=&quot;pass.asp&quot;--&gt;
复制代码
<br /><br />  即可实现对任意网页进行加密的功能了。<br /><br />【转帖,请支持原作者----mogoog<br /><br /><br /><blockquote class="blockquote">From: http://www.niaoz.com/read-htm-tid-382.html  Powered by PHPWind.com</blockquote>
回复

使用道具 举报

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
QQ客服返回顶部