什么是.htaccess文件?
.htaccess文件是Apache HTTP Server的文件目录系统级别的配置文件(访问控制文件)。服务启动时对服务器的每次访问都会读取这个文件。
使用httpd.conf的设定可以改变访问控制文件的名字。但是一般上都使用.htaccess文件来控制。一般上不是Web服务器的管理员则不可以改变设定,但在httpd.conf中将.htaccess文件设定为可更改的情况下,即使不是服务器管理员也可以进行网站管理员级别的更改。
使用httpd.conf的设定可以改变访问控制文件的名字。但是一般上都使用.htaccess文件来控制。一般上不是Web服务器的管理员则不可以改变设定,但在httpd.conf中将.htaccess文件设定为可更改的情况下,即使不是服务器管理员也可以进行网站管理员级别的更改。
用.htaccess进行BASIC认证的好处与坏处
.htaccess文件只需要放置在服务器中就会立刻被适用,并不需要重启服务器。这是因为每次访问服务器,这个文件就会被root调用。用.htaccess进行BASIC认证多在可信赖的IP地址等访问服务器时使用。如:公司内部网络。
一般来说,应该尽量避免使用.htaccess文件
原因1:从服务器性能上考虑。
由于每次访问都需要对这个文件进行读取,用.htaccess进行BASIC认证会造成服务器性能低下。同时,需要纪录所有的文件目录供于Apache读取,所有上级目录的.htaccess都会被搜索调用。
原因2:安全问题。
如果允许用户对服务器进行更改,可能会造成管理员失去对服务器的管理权限。另外,BASIC认证是将用户名及密码以Base64加密后给服务器送信的缘故,很容易被盗取或篡改。为了防止被盗取或篡改,使用Digest认证对用户名及密码进行MD5加密能提高一定安全性,但若密码过于简单仍容易被破解。
常有的误解:用户认证必须通过.htaccess文件来进行。
用户的认证可以通过服务器主设定文件httpd.conf来进行。由于Apache启动时只需要读取一次,性能也会获得提高。
原因1:从服务器性能上考虑。
由于每次访问都需要对这个文件进行读取,用.htaccess进行BASIC认证会造成服务器性能低下。同时,需要纪录所有的文件目录供于Apache读取,所有上级目录的.htaccess都会被搜索调用。
原因2:安全问题。
如果允许用户对服务器进行更改,可能会造成管理员失去对服务器的管理权限。另外,BASIC认证是将用户名及密码以Base64加密后给服务器送信的缘故,很容易被盗取或篡改。为了防止被盗取或篡改,使用Digest认证对用户名及密码进行MD5加密能提高一定安全性,但若密码过于简单仍容易被破解。
常有的误解:用户认证必须通过.htaccess文件来进行。
用户的认证可以通过服务器主设定文件httpd.conf来进行。由于Apache启动时只需要读取一次,性能也会获得提高。
总结
应该使用的情况:- 服务器主设定文件httpd.conf不存在的时候
- 服务器主设定文件httpd.conf存在的时候
- 对服务器性能有要求的时候
- 有不信赖来源的访问的时候
更多相关内容请使用标签或搜索框来查找更多内容。
No comments:
Post a Comment