蒋金阳 发表于 2009-6-3 02:06:40

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

  我们在访问一些网站时,经常会碰到需要输入“用户名和密码”的网页,用户名和密码的验证给网站的安全带来保障,一般网页的安全设置以目录为单位,通过设置目录的属性可以保证网站的安全,这样的网页是如何制作出来的呢?下面将介绍在网页设计中密码验证的两种方法,希望能给网页设计者有所帮助。<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 /> &lt;%  <br />  Function Check( ID, Pwd )  <br />   Dim conn, par, rs  <br />   Set conn = Server.CreateObject(&quot;ADODB.Connection&quot;)  <br />   par = &quot;driver={Microsoft Access Driver (*.mdb)} &quot;  <br />   conn.Open par &amp;&amp; &quot;;dbq=&quot; &amp;&amp; Server.MapPath(&quot;usercheck.mdb &quot;)  <br />   sql = &quot;Select * From users Where ID= &amp;&amp; ID &amp;&amp; And Pwd = &amp;&amp; Pwd &amp;&amp;&quot;  <br />   Set rs = conn.Execute( sql )  <br />   If rs.EOF Then  <br />     Check= False  <br />   Else  <br />     Check= True  <br />   End If  <br />  End Function  <br />  %&gt;   <br />  &lt;%  <br />  If IsEmpty(Session(&quot;Passed&quot;)) Then Session(&quot;Passed&quot;) = False  <br />  Head = &quot;请输入用户名和密码&quot;  <br />  ID = Request(&quot;ID&quot;)  <br />  Pwd = Request(&quot;Pwd&quot;)  <br />  If ID = &quot;&quot; Or Pwd = &quot;&quot; Then  <br />   Head = &quot;请输入用户名和密码&quot;  <br />  Else If Not Check( ID, Pwd ) Then  <br />   Head = &quot;用户名称或密码有错&quot;  <br />  Else  <br />   Session(&quot;Passed&quot;) = True  <br />  End If  <br />  If Not Session(&quot;Passed&quot;) Then  <br />  %&gt;  <br />  &lt;html&gt;  <br />  &lt;head&gt; &lt;title&gt;&lt;/title&gt; &lt;/head&gt;  <br />  &lt;body BGCOLOR=&quot;#FFFFFF&quot;&gt;  <br />  &lt;h2 ALIGN=&quot;CENTER&quot;&gt;&lt;%=Head%&gt;&lt;/h2&gt;  <br />  &lt;hr WIDTH=&quot;100%&quot;&gt;  <br />  &lt;form Action=&quot;&lt;%=Request.ServerVariables(&quot;PATH_INFO&quot;)%&gt;&quot; Method=&quot;POST&quot;&gt;  <br />   &lt;table BORDER=&quot;1&quot; CELLSPACING=&quot;0&quot;&gt;  <br />    &lt;tr&gt;  <br />     &lt;td ALIGN=&quot;RIGHT&quot;&gt;用户名称:&lt;/td&gt;  <br />     &lt;td&gt;&lt;input Type=&quot;Text&quot; Name=&quot;ID&quot; Size=&quot;12&quot; Value=&quot;&lt;%=ID%&gt;&quot;&gt;&lt;/td&gt;  <br />    &lt;/tr&gt;  <br />    &lt;tr&gt; &lt;td ALIGN=&quot;RIGHT&quot;&gt;密码: &lt;/td&gt;  <br />    &lt;td&gt;&lt;input Type=&quot;Password&quot; Name=&quot;Pwd&quot; Size=&quot;12&quot; Value=&quot;&lt;%=Pwd%&gt;&quot;&gt;&lt;/td&gt; &lt;/tr&gt;  <br />   &lt;/table&gt;  <br />   &lt;p&gt;&lt;input Type=&quot;Submit&quot; Value=&quot; 确定 &quot;&gt; &lt;/p&gt; &lt;/form&gt;  <br />  &lt;hr WIDTH=&quot;100%&quot; align=&quot;center&quot;&gt;  <br />  &lt;/body&gt; &lt;/html&gt;  <br />  &lt;%Response.End  <br />  End If %&gt; <br />这个验证合法性的页面具有通用性,只要在需要加密网页的最前面加上如下程序:<br />&lt;! --#include 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.htmlPowered by PHPWind.com</blockquote>
页: [1]
查看完整版本: 实现网页密码验证的两个方法【转.mogoog】