Dreamweaver MX 2004做信息公告系统(9)系统安全…

2008-02-23 07:04:27来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  系统功能实现了但是事情还没有做完,试想一下,如果别人在浏览器中直接输入_admin_add.asp的地址岂不是就能直接发布公告?直接输入_admin_delete.asp?g_ID=n就可以删除公告?这样肯定是不行的,所以要做一点安全机制来保护一下。

  1、首先在数据库中设计一个管理员用户表,有两个字段:adm_name和adm_pass分别用来存放用户名和密码。建立好后我们先打开表输入一个用户名和密码。

  2、打开_admin_.asp,我事先做好了一个登录表单。点击“服务器行为”面板上的“ ”号,选择“用户身份验证”>“登录用户”。

  3、在弹出的登录用户对话框中,选择相应的用户名密码表单和数据库中的用户名密码字段。填写登录成功和登录失败分别跳转到的页面。

  这里我在登录成功转到页面中填写了_admin_manage.asp,也就是管理列表页面;而在登录失败转到中填写的是“_admin.asp?errinfo=密码不正确!”。为什么要加上后面一句呢?因为我要在登录失败后传递一个失败信息到页面,而这个信息在我们做了下面的改动之后将在登录失败时重新载入_admin_.asp时显示出来。

  4、切换到代码视图,在<form>之前添加这样一段代码:

<% If Request.QueryString("errinfo")<>"" Then %>
<p align="center"><%= Request.QueryString("errinfo") %></p>
<% End If %>

  这一句的意思就是如果URL参数errinfo不为空就显示这个errinfo的值。这一句非常有意思,因为我们可以判断不同的失败的操作后给出不同的"?errinfo=xxxx",这样错误信息就会直接显示出来,而如果没有URL参数,该页面则上不会显示这一段。这一点后面也会利用到。

  5、这样解决了登录的问题,但还是没有解决直接输入页面地址进行访问的问题。下面我们就来实现这一点。

  依次打开其他管理页面(除了_admin_logout.asp外的每个_admin_页面),点击“服务器行为”面板上的“ ”号,在菜单中选择“用户身份验证”>“限制对页的访问”。

  6、在弹出的对话框中选择“用户名和密码”以及访问被拒绝时跳转到的页面,我这里输入了“_admin_.asp?errinfo=请先登录管理!”,这里就用到上面说的那一点,这样在访问失败后跳转到_admin_.asp时,“请先登录管理!”的提示信息就会显示出来。

  这下直接输入地址时就无法进行正常操作了,而是会跳转到登录页了。

  7、最后要解决的问题就是做出“注销登录”的功能,大家也看到了在我设计好的模板中,每个管理页下面都有一个“退出登录”的超链接,链接到了_admin_logout.asp这个页面。我们现在就要实现点这个链接转到_admin_logout.asp这个页面时就把当前已经登录的用户信息注销。

  打开_admin_logout.asp,点击“服务器行为”面板上的“ ”号,选择“用户身份验证”>“注销用户”。

  在弹出的对话框中选择“页面载入”,并填写注销完成后转到的页面。

  我这里输入了“_admin_.asp?errinfo=注销成功!”,明白了吧,呵呵?

  8、现在如果你要管理你就可以直接在地址栏中输入:http://你的服务器地址/_admin_.asp,然后输入用户名和密码登录了。我知道有人已经忍很久了,说为什么登录页要取这么一个文件名,还要输两次下划线,一点都不方便。呵呵,我要的就是不方便。我们后台管理的页面是不应该那么容易的被其他人获得的,虽然有密码保护,但是如果别人猜到了密码呢,甚至也可能穷举出密码的。也许有人会觉得无所谓,不过我还真是不习惯那种在首页放上“管理入口”的做法。(不过也许人家的技术够硬呢。-_-!)不说了,总之一句话,不推荐。

  好了,本教程所有的内容都完成了。
你现在要做的就是改掉版权信息(如果你是自己设计的页面就不用了)后上传到服务器就OK了。

  完成后的源程序下载:
http://flash8.coldstone.cn/gonggao/Flash8_DW ASP_GongGao.rar (121K 解压密码:flash8.net)

  最后,还有几句话要说说:
这个教程的重点在于介绍DW做ASP程序的基本步骤和要领,其中也穿插了一些VBScript语法以及ASP的一些对象的用法,重在基础,所以程序也并不真正完善,也有很多地方大家可以根据自己的想法进行更改和扩展。另外在实现同一个功能的情况中,我尽量用了不同的方法去实现,也是要大家了解要达到同一个目的其实有很多方法,并不局限于一个模式。

  我下面也留了一点小问题让大家去解决,大家可以自己想办法实现,我也会在以后的教程中把这些问题的解决方法穿插进去:

  问题一:把index.asp的标题前面显示的小箭头换成动态的小图标,要通过在添加公告的时候进行选择,然后显示出来。

  问题二:_admin_sucess.asp上面的提示很单调,都是说“操作成功!”,如果要换成不同的操作成功后显示不同的信息应该怎么做?比如“添加成功”、“修改成功”、“删除成功”等。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Dreamweaver MX 2004做信息公告系统(8)管理页之公告删除页的制作

下一篇:Dreamweaver MX 2004 做信息公告系统