|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
原密码方案的弊端 我的网站为增强网站活力、分担网站维护和治理工作,招收了一部分人员参与网站某些栏目的维护和治理。这些栏目一般用专用的ASP治理网页进行治理(例如聊天室的踢人、从论坛删除不合适的帖子等)。这些治理网页同栏目网页相同,是在WWW上发布的,所以需要密码保护。我们以前的密码方案比较简朴,是利用ASP判别指令检测提交网页的提交密码。例如: <% if request("PWD")="password" then %> ……(治理网页内容) <% else response.write "密码错误" end if%> 这个方案显然存在很多弊端,例如,由于某些软件的安全漏洞,使源代码被下载,造成失密;学生网管更换,密码流失;每次更换密码不得不修改源代码,增加了工作量等。针对这些问题的解决方案有许多种,如设置权限、IP地址检测等等。本文介绍一种自动随机密码方案,该方式不但简朴,而且具有较高的安全性。 产生随机密码 首先编制一个在WWW服务器上本地运行的产生随机密码的程序,并将该随机密码写入与ASP治理网页同一子目录内的一个文本文件password.txt中。此部分可以用任何开发语言编写,笔者使用的是VB。该程序异常简朴,控件只有一个LABLE、一个TEXT和一个COMMAND。主要源代码如下: Private Sub Form_Load() Dim UpperBound, LowerBound, MyValue As Double \\\'密码的最高数值 UpperBound = 10000000000# \\\'密码的最低数值 LowerBound = 1 \\\'随机密码种子按时间取值 Randomize \\\'取得随机密码 MyValue = Int((UpperBound - LowerBound + 1) * Rnd + LowerBound) \\\'显示随机密码 Text1.Text = MyValue \\\'将密码写入文本文件 Open "……(ASP治理网子目录)/password.txt" For Output As #1 write #1, MyValue Close #1 End Sub 读取、验证、消除密码 首先读出password.txt文件内的密码,然后再对password.txt文件进行覆盖,写入一个不能通过治理网页检测的字符串,例如"nopass"。这样随机产生的密码就消失了,即使password.txt和治理网页源文件被下载,仍旧无法通过治理网页的密码检测。ASP治理网页的操作和检测代码如下: <% dim pswd1,pswd2 whichfile=server.mappath("password.txt") set fs=createobject("scripting.filesystemobject") set thisfile=fs.opentextfile(whichfile) ’读取密码 pswd1=thisfile.readline thisfile.close paswd2="nopass" set out=fs.createtextfile(whichfile) ’覆盖密码 out.writeline(paswd2) out.close set fs=nothing ’和提交的密码对比以及验证密码是否有效 if request("PWD") =pswd1 and pswd1 <> pswd2 then %> ……(治理网页内容) <% else response.write "密码错误" end if %> 小 结 需要注重的是:在运行自动密码程序后,最好立刻启动治理网页读取和消除密码,否则把密码存在password.txt中,究竟是很不安全的。 返回类别: 教程 上一教程: 如何实现动态添加HTML文档中FORM项 下一教程: ASP中FSO的神奇功能 - 权限许可 您可以阅读与"ASP治理网页的自动随机密码方案"相关的教程: · ASP写的自动生成SELECT表单的函数 · ASP实现网址的自动识别 · ASP编写不再让人讨厌的自动弹出窗口 · 用ASP程序随机产生用户密码 · 注册帐号时密码随机生成的ASP代码 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |