优内建站网,专业建站,企业建站,免费建站,智能建站,个人建站!
主营企业建站,seo优化,手机网站,微信网站开发等业务!>> 繁体中文
用户名: 密 码: 验证码:    
企业建站,专业建站,模板建站,智能建站
 您现在的位置:首页 >> PC故障大全 >> 详细内容>>        【字体:  】【颜色: 绿

WWW访问控制及客户帐号管理

在百度搜索关于“WWW访问控制及客户帐号管理”的内容

在谷歌搜索关于“WWW访问控制及客户帐号管理”的内容

买空间、服务器就上威客主机网(VK163.COM) 虚拟主机评测+IDC导航=威客主机之家 标志设计
[内容提要] 互联网上网站建立以后,一个普遍的需求是能够方便地管理上站用户的账号信息,以及某些页面针对限定用户开放。比较好的一个解决方案是采用.htaccess协议,但网上关于此协议的文档很多并没有讲清楚,包括一些示例也存在歧义,初学者很容易迷惑。一、为什么选择.htaccess解决方...

作者: 优内科技  来源: 优内科技  驻站日期:2008/12/20 【 加入收藏 】 【 打印此页 】 【 关闭

互联网上网站建立以后,一个普遍的需求是能够方便地管理上站用户的账号信息,以及某些页面针对限定用户开放。比较好的一个解决方案是采用.htaccess协议,但网上关于此协议的文档很多并没有讲清楚,包括一些示例也存在歧义,初学者很容易迷惑。

一、 为什么选择

.htaccess解决方案

众所周知,html的一个缺点是本身无法保持状态,客户连接服务器获取一个页面后,对服务器而言,此连接就已不存在了,下一页将重新连接。如何跟踪用户,目前常用的有以下解决方案:

1在html的表单中利用隐藏输入域来传递信息,如:

〈INPUT TYPE=hidden NAME="username" VALUE="foresee"〉

VALUE值即为状态信息,所以每次不同,不可能事先写好,只能通过CGI程序生成HTML页面:

Print 〈input type=hidden name=\"origname\" value=\"$username\"〉"

这样,在下次表单重新提交时可以包含进去。

使用隐藏输入确实是保持状态的一种简单办法,但必须由CGI程序生成页面,如大量使用,速度慢、不易于维护。

2向客户端发送cookie

cookie是一种通过客户端的浏览器本身维持状态(甚至不同会话间)的方法。在浏览器访问站点时,调用set-cookie在客户端建立cookie,它将在以后每次连接到站点时返回给Web服务器,从而携带用户ID。但cookie技术在使用中有以下缺陷,这甚至是致命的缺陷:

1) cookie由于涉及到用户隐私的争论,所以缺乏广泛的支持,首先,不是所有的浏览器都支持cookie,另外,像IE这样的浏览器出于安全性的考虑,还可以设置屏蔽掉cookie。所以,使用cookie ,至少要为客户提供其他选择。

2) cookie缺乏安全保证,如果你的机器被别人使用访问Web服务器,浏览器也会同样发送cookie。

3会话ID

会话ID是每个客户在到达Web站点时分配的惟一标识,多经由URL自身传递。在有些站点我们可能见到很长、看起来很奇怪的URL,常常是一串数字或字母。也正由于这种方案将URL弄得长且怪,笔者不倾向采用此方案,所以也不是本文的主旨。

4建立服务器端客户文件

这种方案是在服务器端维护一个注册后的在线客户表,利用IP地址等信息来保持客户状态。但这种方案不能独立地解决我们的需求。很简单,如果几个客户使用同一个代理服务器(proxy)来访问Web Server,那么,在此方案下他们将被视为同一个用户。

5.htaccess协议

.htaccess实际是系统访问控制文件(ACF)族中的一个。该协议目前为大多数UNIX环境的服务器支持,例如,普遍采用的Apache服务器较为通用(值得一提的是,与此相关的另一个文件为access.conf,还可实现基于主机域名/地址的访问控制)。其优点为:

● 控制取决于服务器(当然目前NT除外),客户端具有很好的兼容性;

● 针对目录保护,可方便灵活地定制;

● 弹出窗口式密码校验简单明了,符合惯例;

● 客户注册后,CGI环境变量“REMOTE—USER”即为校验后的客户账号,在整个保护区访问无需再注册,有效地保持了状态。

二、 .htaccess协议

实施步骤及要点

.htaccess的具体实施步骤如下:

1规划目录,将要控制访问的所有文件集中至选定的目录里。

2在要存取控制目录下建立一个文件,文件名为“.htaccess”,别忘了有一个“.”(以“.”开始的文件名在UNIX下表示是隐含文件)。文件内容网上的很多地方都没有讲清楚,包括一些ISP提供的示例,也模糊不清。一个经验证的样本如下:

AuthUserFile /path/.htpasswd

AuthGroupFile /dev/null

AuthName Information

AuthType Basic

〈Limit GET POST PUT〉

require valid-user

〈/Limit〉

黑体字需根据实际情况替换。其中:

AuthName: 用户认证名,将会在密码检测框中出现,但注意应为一个单词,否则要用引号括起来;

AuthType: 使用的认证方式, 缺省为: Basic;

AuthUserFile: 认证用户口令文件绝对路径,请根据实际情况替换/path/;

AuthGroupFile: 认证用户组别文件绝对路径;

〈Limit GET〉〈/Limit〉: 标识访问特定目录访问控制段的开始/结束;

require entity1 entity2: 要求认证的内容,entity1可以是user、group; entity2 为认证用户或组名。这一项最需要特殊说明,它可导致几种不同的配置,这正是往往没被说清之处:

1) 不配置用户组时, 第二行的用户组别文件可设为:AuthGroupFile /dev/null。要求认证的内容则为:require valid-user。这时,管理用户只需配置 .htpasswd文件;也可做限定,如 : require user admin guest foresee。这样,只有指定的用户才能登入。

2) 如需配置用户组,首先指定组文件如下:AuthGroupFile /path/.htgroup。

要求认证的内容则应为:require group users,而.htgroup文件的一个示例为:

users: admin guest foresee

以上两种搭配是不能混用的,像下面的.htaccess,你是无论如何注册不进去的:

AuthUserFile /path/.htpasswd

AuthGroupFile /dev/null

AuthName Information

AuthType Basic

〈Limit GET POST PUT〉

require group valid-user

〈/Limit〉

3口令文件.htpasswd示例如下:

shallwe:?W5h9v9KOwKI

foresee:vZTYLaCW8lI

try:?LuRyE3jcujI

大家一看就知道,它是按照DES算法加密过的。每条记录由账号和密码组成。在通过下文提供的程序管理前,你可使用Web服务器通常提供的htpasswd程序,当然,这需要一个主机的shell账号,在UNIX命令行状态下,.htaccess文件指定的path中执行以下命令:

# /var/www/bin/htpasswd -c .htpasswd username

“-c”参数仅在第一次使用,它指明创建.htpasswd文件。username表示要增加的用户名,输入此命令后,系统会提示你输入密码两遍,这个用户就生效了。如果这个用户存在则提示你修改密码。

三、 通过编程实现账号

自动管理

htpasswd命令必须手工完成,不可能用于管理大量用户的增删。我们当然想到最好能通过WWW页面在线添加、删除,以下提供一个样例:

一个简单的录入表单如下:

〈html〉

〈head〉

〈meta http-equiv="Content-Type" content="text/html; charset=gb2312"〉

〈title〉欢迎加入〈/title〉

〈/head〉

〈body BGCOLOR="#FFFF99" TEXT="#000000" LINK="#0000FF" ALINK="#FF0000" VLINK="#FF00FF"〉

〈br〉

〈h1〉〈center〉欢迎加入〈/center〉〈/h1〉

〈hr〉

〈form method="POST" action="/cgi-bin/regist.cgi"〉

〈FONT FACE="楷体—GB2312" SIZE="+1"〉〈B〉

〈p〉账号:〈input type="text" name="username" size="20"〉〈/p〉

〈p〉密码:〈INPUT TYPE="password" NAME="password" size="10" 〉〈/p〉

〈hr〉

〈p〉〈input type="submit" value="注册" name="B1"〉

〈input type="reset" value="重填" name="B2"〉〈/p〉

〈/B〉〈/FONT〉

〈/form〉

〈/body〉

〈/html〉

此外,还需再用perl语言编写一个小程序,处理以上form,实现新用户的添加、删除,因为.htpasswd文件有固定的格式,客户的其他信息可另外生成文件来保存和管理。

添加到QQ书签 百度收藏 订阅到抓虾 添加到鲜果  新浪ViVi  365Key网摘  天极网摘  我摘  和讯网摘  yahoo  收藏到收客网  Digbuzz我挖网  添加到饭否  挖客  添加到google  

   【回到顶部】 【返回文章列表】 编辑:优内科技
⊕ 上一篇:Windows网络实用工具大集合
⊕ 下一篇:安全正确的配置Win2000+IIS5.0服务器
  相关新闻
返回首页 | 设为首页 | 添加收藏 | 关于我们 | 联系我们 | 企业文化 | 合作伙伴 | 诚聘英才 | 网站报价 | 企业资质 | 网站地图
邮箱登陆 E- mail:master@cck5.com 点击这里给我发消息 客服专员 QQ:310203268 点击这里给我发消息 技术咨询 QQ:22071287点击这里给我发消息 代理备案 QQ:529631515
丰富的网站建设经验,专业提供网站建设、网站制作、网页设计服务,专业设计,真诚服务,不满意不收费!
Copyright 2008 - 2025 cck5 Inc. All Rights Reserved 优内建站网络科技公司
本站部分资源来自网络,如有侵犯您的版权,请告之,我们将即刻删除!QQ:310203268
主要业务:网站建设企业建站专业建站智能建站SEO优化微信建站手机建站
本站ICP备案号:浙ICP备11019299号 中国电信增值ICP经营许可证
不良信息举报中心 江西网警 信息产业部门备案 企业法人营业执照
 
扫优内微信二维码
“码”上有惊喜