1.用户名规则:
》字符大于4,
》不能在黑名单里(比如不能跟管理员有重名,不能有任何包含本站域名的相关信息如:yongfa365admin,不用能“admin”等字样),
》最好不要以数字开头,
》字母的话要转换成小写的写入数据库,
》注册时应该可以检查是否被占用。
2.后台菜单式权限设置
结构:
Admin_Menu_1
ID |
Menu |
MenuOrder |
ICON |
26 |
后台管理 |
10 |
|
27 |
文章管理 |
1 |
|
28 |
网站配置 |
10 |
|
38 |
系统帮助 |
11 |
|
39 |
版权信息 |
12 |
|
40 |
注册用户管理 |
3 |
|
41 |
友情链接管理 |
8 |
|
42 |
信息分类管理 |
2 |
|
Admin_Menu_2
ID |
Menu |
ParentID |
MenuOrder |
Link |
ICON |
35 |
组权限管理 |
26 |
3 |
Admin_UserGroup.asp |
|
36 |
用户管理 |
26 |
2 |
Admin_User.asp |
|
37 |
菜单管理 |
26 |
1 |
Admin_Menu_1.asp |
|
49 |
省市县管理 |
28 |
0 |
Admin_City_Category.asp |
|
52 |
系统使用帮助 |
38 |
0 |
Admin_Help.asp |
|
53 |
柳永法Blog |
39 |
1 |
http://www.yongfa365.com/blog |
|
56 |
注册用户管理 |
40 |
0 |
Admin_Users_List.asp |
|
57 |
友情链接管理 |
41 |
2 |
Admin_Links.asp |
|
58 |
友情链接分类 |
41 |
1 |
Admin_Links_Sort.asp |
|
59 |
文章分类 |
27 |
1 |
Admin_Article_Category.asp |
|
60 |
文章管理 |
27 |
2 |
Admin_Article.asp |
|
61 |
信息分类管理 |
42 |
1 |
Admin_dept_Category.asp |
|
62 |
信息管理 |
42 |
2 |
Admin_dept.asp |
|
63 |
网站通用信息 |
28 |
0 |
Admin_Webconfig.asp |
|
Admin_UserGroup
ID |
UserGroup |
Rank |
OrderID |
30 |
超级管理员 |
59, 60, 61, 62, 56, 58, 57, 37, 36, 35, 63, 49, 52, 53 |
2 |
32 |
管理员 |
62, 56, 36 |
1 |
33 |
员工 |
62, 56 |
0 |
Admin_Users
ID |
UserName |
Password |
UserGroupID |
OrderID |
LastLoginIP |
LastLoginTime |
LoginTimes |
33 |
123 |
123123 |
30 |
1 |
221.223.219.165 |
2007-1-4 10:26:29 |
188 |
38 |
3123123 |
123 |
30 |
2 |
221.216.186.211 |
2007-1-4 9:52:00 |
72 |
后台用户权限判断:
根据session("username")查他是哪个组的,在组表里查这个组可以进入的组菜单id,再根据些菜单id在菜单表里找出对应的菜单网页名,这些可以写成一个函数。--至此找到了这个用户可以访问的所有菜单了
然后在这些菜单的代码页都包含一个文件权限文件"rank.asp"这个文件里的内容是看这个用户有没有权限看这个页,(当然不是rank.asp这个页喽)。根据来源网址取得来源的文件名,如"admin_user.asp"判断这个网址是不是当前用户可以看的,如果不是,则做相应处理。
<%
'获取本网页文件名
Dim sScriptName, sFileName
Dim aPathInfo
sScriptName = Request.ServerVariables("SCRIPT_NAME") '获得脚本文件路径
aPathInfo = Split(sScriptName, "/")
sFileName = aPathInfo(Ubound(aPathInfo))
Response.Write sFileName
%>
--------------------------------------------------------------------------------------------------------------
发现一个问题,如果你后台管理目录有几层的话,而且每个子目录里都有同一个文件,这样的话就会出现漏洞,这里先不谈补救措施了,咱们使用另一种方法,让生成权限菜单时,自动在后边加上一个?id=<%=rs("id")%>咱们不判本页的文件名了,直接判断这个id,问题就可以解决了,但这又有一个问题,如果两个表里的id有重复就又出现问题了,所以得把这个二级菜单做在一张表里,做一个无限级的菜单。这样id也不会有重复了。
3.做的系统上带一个留言版,可以让使用者反馈信息。这样可以更好的,实时的了解网站存在的问题。
4.文章内容显示查询页:基本上要对每个条件可以进行搜索,搜索后翻页后然后进行删除或修改最终都要返回到当前查询状态可能用到的有:
NowFile=request.ServerVariables("script_name") & "?developer=yongfa365" '当前文件
ModiURL=request("ModiURL") '进入修改页面时要把查询列表页的地址保存到ModiURL里,然后点修改后把这值传给修改后要跳转到的页面
if ModiURL="" then ModiURL=Request.ServerVariables("HTTP_REFERER") '如果这个页是修改后提交过来的页就按这个地址返回,如果不是就从哪来回哪去,这个可以实际中体会一下
Normalurl=NowFile & "&txtTitle=" & request("txtTitle") & "&addtime=" & request("addtime") & "&category=" & request("category") & "&Hidden=" & request("Hidden") & "&hits=" & request("hits") & "&ModiNO=" & request("ModiNO") '相关查询。作为翻页的参数用。
5。发表文章的时候编辑框得到的值要处理一下,最好是再有一个函数用来替换 “
,,”。最好是对网页内的会影响布局的标签,比如:进行匹配,如果不是一对对的话或者说结束标签与开始标签不一样多就要删除或添加标签让他不要影响页面布局,如果可以精确处理就更好,本人目前为止还处理不了,呵呵,可以处理的分享一下。
如果网站中涉及到在搜索结果中再进行搜索的问题,您的某表单项不限制的话,最好用0代表不限制。否则不好判断。sex=""代表没有传值,sex="0"代表不限制。
1.后台设计成左右框架,左边放栏目,右边显示要操作的网页;左边栏目动态生成,有权限,可以折叠显示。
2.后台用户管理:添加,修改,删除用户,设定用户权限(可以访问哪些栏目)。
3.栏目管理:一级二级栏目。
本文作者:柳永法 来源:http://www.yongfa365.com/
CIO之家 www.ciozj.com 微信公众号:imciow