关于Apache服务器如何实现用户验证服务器教程

时间:2024-11-08 03:34:51 作者:就是我 综合材料 收藏本文 下载本文

【导语】“就是我”通过精心收集,向本站投稿了5篇关于Apache服务器如何实现用户验证服务器教程,下面是小编整理后的关于Apache服务器如何实现用户验证服务器教程,欢迎您阅读分享借鉴,希望对您有所帮助。

篇1:关于Apache服务器如何实现用户验证服务器教程

Apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证,大家只要跟着我一步步做下来就应该能轻松实现用户验证。

前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,请查询相应的资料。

第1步

我们在/var/www(apache的主页根目录)下建立一个test目录

mkdir /var/www/test

第2步

然后我们编辑httpd.conf

添加

Alias /test“/var/www/test”

Options Indexes MultiViews

AllowOverride AuthConfig #表示进行身份验证

Order allow,deny

Allow from all

#AllowOverride AuthConfig 表示进行身份验证 这是关键的设置

第3步

在/var/www/test创建.htaccess文件

vi /var/www/test/.htaccess

AuthName “frank share web”

AuthType Basic

AuthUserFile /var/www/test/.htpasswd

require valid-user

#AuthName 描述,随便写

#AuthUserFile /var/www/test/.htpasswd

#require valid-user 或者 require user frank 限制是所有合法用户还是指定用户

#密码文件推荐使用.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一点哦,

第4步

就是创建apache的验证用户

htpasswd -c /var/www/test/.htpasswd frank

#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数

如果你们想修改密码,可以如下

htpasswd -m .htpasswd frank

第5步

ok,重启apache服务,然后访问 你的网站地址/test 如果顺利的话,应该能看到一个用户验证的弹出窗口,只要填入第4步创建的用户名和密码就行

后话,为了服务器的性能,一般不推荐使用AllowOverride AuthConfig或者AllowOverride ALL,因为这会使服务器会不断的去寻找.htaccess,从而影响服务器的效能,一般我们把一些后台管理界面或者其他特殊目录可能需要加验证这个需求。

篇2:FTP服务器如何实现安全性(上)服务器教程

作为Internet上的FTP服务器,系统的安全性是非常重要的,这是建立FTP服务器者所考虑的第一个问题,其安全性主要包括以下几个方面:

一、未经授权的用户禁止在服务器上进行FTP操作。

二、FTP用户不能读取未经系统所有者允许的文件或目录。

三、未经允许,FTP用户不能在服务器上建立文件或目录。

四、FTP用户不能删除服务器上的文件或目录。

FTP服务器采取了一些验明用户身份的办法来解决上述第一个问题,主要包括以下几个措施:

FTP用户所使用的用户帐号必须在/etc/passwd文件中有所记载(匿名FTP用户除外),并且他的口令不能为空。在没有正确输入用户帐号和口令的情况下,服务器拒绝访问。

FTP守护进程FTPd还使用一个/etc/FTPusers文件,凡在这个文件中出现的用户都将被服务器拒绝提供FTP服务,

服务器管理可以建立“不受欢迎”的用户目录,拒绝这些用户访问。

只有在服务器的/etc/passwd文件中存在名为“FTP”的用户时,服务器才可以接受匿名FTP连接,匿名FTP用户可以使用“anonymous”或“FTP”作为用户名,自己的Internet电子邮件地址作为保密字。为了解决上述安全性的另外三个问题,应该对FTP主目录下的文件属性进行管理,建议对每个目录及其文件采取以下一些措施:

FTP主目录:将这个目录的所有者设为“FTP”,并且将属性设为所有的用户都不可写,防止不怀好意的用户删改文件。

FTP/bin目录:该目录主要放置一些系统文件,应将这个目录的所有者设为“root”(即超级用户),并且将属性设为所有的用户都不可写。为保证合法用户可显示文件,应将目录中的ls文件属性设为可执行。

FTP/etc目录:将这个目录的所有者设为“root”,并且将属性设为所有的用户都不可写。将目录下的group文件和passwd文件的属性设为所有用户只读属性,并用编辑器将passwd文件中用户加过密的口令删掉。

篇3:如何用iptables实现NAT服务器教程

本文主要介绍如何使用iptbales实现linux2.4下的强大的NAT功能,关于iptables的详细语法请参考“用iptales实现包过虑型防火墙”一文。需要申明的是,本文绝对不是 NAT-HOWTO的简单重复或是中文版,在整个的叙述过程中,作者都在试图用自己的语言来表达自己的理解,自己的思想。

一、概述

1. 什么是NAT

在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改,更为确切的说,除了将源MAC地址换成自己的MAC地址以外,路由器不会对转发的数据包做任何修改。NAT(Network Address Translation网络地址翻译)恰恰是出于某种特殊需要而对数据包的源ip地址、目的ip地址、源端口、目的端口进行改写的操作。

2. 为什么要进行NAT

我们来看看再什么情况下我们需要做NAT,

假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP地址都是伪IP,但是部分用户要求建立自己的WWW服务器对外发布信息,这时候我们就可以通过NAT来提供这种服务了。我们可以在防火墙的外部网卡上绑定多个合法IP地址,然后通过NAT技术使发给其中某一个IP地址的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP发出的包。

再比如使用拨号上网的网吧,因为只有一个合法的IP地址,必须采用某种手段让其他机器也可以上网,通常是采用代理服务器的方式,但是代理服务器,尤其是应用层代理服务器,只能支持有限的协议,如果过了一段时间后又有新的服务出来,则只能等待代理服务器支持该新应用的升级版本。如果采用NAT来解决这个问题,

因为是在应用层以下进行处理,NAT不但可以获得很高的访问速度,而且可以无缝的支持任何新的服务或应用。

篇4:Windows自动化管理的实现服务器教程

window

利用WMI软件开发包(SDK)可以方便地查看可用的CIM和Win32类,WMI SDK可以从msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/566/msdncompositedoc.xml下载,有8M多,可谓不小。

WMI SDK要求操作系统必须是Windows 2K/XP或者NT 4.0 SP4或更高版本;尽管Win9x系统上可以安装WMI支持软件,但SDK不能在Win9x上运行。另外,为支持SDK的ActiveX控件,SDK还要求有IE 5.0或更高版本。SDK对机器性能的最低要求是:Pentium处理器,32 Mb的RAM,40 Mb的磁盘空间,以及至少要有800 x 600、256色的显示设备。对于运行Windows 2K/XP的机器来说,这些要求应该不会成为问题。CIMOM默认以服务的形式运行,但如果机器没有网卡,CIMOM不能作为服务运行,不过此时可以作为一个应用运行,只需执行winmgmt.exe即可。winmgmt.exe在\\%systemroot%\\system32\\wbem的WMI主目录下。

SDK必须由管理员组的成员安装。安装过程很简单,执行WMISdk.exe启动向导,指定安装的目标目录(默认是\\program files\\wmi)。选择要安装的可选组件(默认安装除了SNMP支持以外的所有组件),最后点击Finish。安装SDK不需要重新启动。安装完成后,“开始/程序”菜单上会增加一个WMI SDK组。

点击WMI SDK程序组的WMI CIM Studio。CIM Studio提示连接名称空间,并显示默认连接的名称空间是root\\cimv2,确认即可。如果你用Administrator身分登录Windows,再次点击确定以当前身份登录;如果你用其他的身份登录Windows,请改用Administrator登录,

现在,假设我们要在当前的机器上查找一个对象:C:驱动器。我们不知道C:驱动器在CIM或WMI中的具体名称,浏览CIM Studio列出的数百个类又太麻烦,怎么办呢?可以使用Find按钮(左边上方的望远镜,参见图三)。图二显示了点击Find按钮后显示的Search for Class对话框,在这里输入我们猜想C:驱动器的类名称中应当包含的单词,然后点击Go!按钮。由于我们正在寻找一个命名的磁盘分区,而且我们知道Windows把这种分区叫做logical disk或logical drive,因此这里的搜索关键词可以是logical。当然,搜索关键词也可以是disk,但这时会有大量的搜索结果出现。

图二

图二显示了搜索关键词logical得到的结果。选择Win32_LogicalDisk并点击OK,图三的窗口出现(为什么不选择CIM_LogicalDisk?前面已经提到,WMI管理的所有对象都带有Win32前缀。如果选择CIM_LogicalDisk然后要求显示出它的实例,不可能看到可用逻辑驱动器的任何具体信息,只能看到对应每一个可用逻辑驱动器的Win32_LogicalDisk条目)。现在,窗口的右边显示出Win32_logicalDisk类的属性。可以看到,属性的值都为空,这是因为我们正在查看的是一个类,而不是类的具体实例。要显示出Win32_LogicalDisk类的实例,点击右边上面的Instances按钮(右数第四)。

图三

点击Instances按钮之后,窗口显示出当前机器上所有逻辑驱动器的实例,包括网络逻辑驱动器。点击设备ID为“C:”的实例,显示出图四的结果。右边窗格包含了当前实例的属性和方法,当前逻辑驱动器的名称显示在右边窗格的上方。

图四

利用脚本可以修改这些属性或调用这些方法。如果对某个属性的含义不太清楚,只需选择Win32_LogialDisk类或Win32_LogicalDisk.DeviceID=“C:”实例,再点击Help按钮。大多数对象的属性和方法都有详细的说明。

篇5:分页实现方法的性能比较服务器教程

我们先给出几种主要的分页方法和核心语句,然后直接给出结论,有兴趣的读者可以看看后面的数据

几种常用存储过程分页方法

TopN方法

select Top(@PageSize) from TableName where ID Not IN

(Select Top ((@PageIndex-1)*@PageSize) ID from Table Name where .... order by ... )

where .... order by ...

临时表

declare @indextable table(id int identity(1,1),nid int,PostUserName nvarchar(50))

declare @PageLowerBound int

declare @PageUpperBound int

set @PageLowerBound=(@pageindex-1)*@pagesize--下限

set @PageUpperBound=@PageLowerBound+@pagesize--上限

set rowcount @PageUpperBound

insert into @indextable(nid,PostUserName) select ReplyID,PostUserName from TableName order by ......

select * from TableName p,@indextable t where p.ID=t.nid

and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id

CTE--2005新语法,类似临时表,但是生命周期稍微不同,这里只是他的一个运用

with cte_temp--定义零时表,PageIndex是一个计算字段,储存了搜索结果的页号

As (ceiling((Row_Number() over(order by .... )-1)/@pagesize as int) as PageIndex,* from TableName where.....)

select * from cte_temp where pageindex=@pageindex-1;

结论:

TopN在小页数下最快,如果在10页以下,可以考虑用它,CTE和临时表时间很稳定,CTE消耗的时间比临时表多,但是不会引起tempdb的暴涨和IO增加

性能比较

试验环境:win2003server,Sqlserver2005,库大小2,567,245行,没有where子句,试验时每页大小50,页码作为变量

取0,3,10,31,100,316,1000,3162...页,也就是10的指数,试验结果如下

页数    TopN     CTE  临时表(有缓存)  临时表(无缓存)

公司正在使用的存储过程 CTE改进

1 3 12 10 101 457 7302

3 15 7 79 5524 464 7191

10 127 5504 88 3801 464 6116

32 588 9672 122 3601 976 7602

100 4680 9738 166 4235 486 7151

316 45271 9764 323 3867 522 7255

1000    Null 9806 869 2578 635 8948

3162    Null 9822 2485 4110 12460 8210

10000    Null 9754 7812 11926 14250 7359

31623    Null 9775 18729 33218 15249 7511

100000    Null    Null 31538 55569 17139 6124

数据解释和分析

临时表分为有没有缓存两种时间,CTE就是上面的方法,CTE改进只是把选入CTE临时表的列数减少了,只选取了页号和主键,Null表示时间无法计算(时间太长),数据单位是毫秒.

从上面的数据可以看到,TopN在前32页都是有优势的,但是页数增大后,性能降低很快,CTE改进比CTE有所进步,平均进步两秒左右,但是还是比临时表慢,但是考虑临时表会增大日志文件的大小,引起大量IO,CTE也就有他自己的优势,公司现在正在使用的存储过程效率不错,但是在页码靠后的情况下性能会降低

多台主机实现DNS服务器负载均衡详细教程

用访问控制列表实现网络单向访问服务器教程

SMTP简单邮件传输协议服务器教程

FTP服务器关于权限的问题服务器教程

硬盘坏道故障实例解决服务器教程

三代防火墙体系结构演变介绍服务器教程

VMware Server的工作原理服务器教程

找出通病 通杀国内防火墙服务器教程

反垃圾邮件防火墙与防毒墙服务器教程

服务器搭建实施方案范文

关于Apache服务器如何实现用户验证服务器教程(整理5篇)

欢迎下载DOC格式的关于Apache服务器如何实现用户验证服务器教程,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档