|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、pswho
1、.htaccess的基础感化
.htaccess是一个纯文本文件,它内里寄存着Apache服务器设置相干的指令。
.htaccess次要的感化有:URL重写、自界说毛病页面、MIME范例设置和会见权限把持等。次要表现在伪静态的使用、图片防盗链、自界说404毛病页面、制止/同意特定IP/IP段、目次扫瞄与主页、克制会见指定文件范例、文件暗码回护等。
.htaccess的用处局限次要针对以后目次。
2、启用.htaccess的设置
启用.htaccess,必要修正httpd.conf,启用AllowOverride,并能够用AllowOverride限定特天命令的利用。
翻开httpd.conf文件用文本编纂器翻开后,查找
.代码以下:
<Directory/>
OptionsFollowSymLinks
AllowOverrideNone
</Directory>
改成:
<Directory/>
OptionsFollowSymLinks
AllowOverrideAll
</Directory>
假如必要利用.htaccess之外的其他文件名,能够用AccessFileName指令来改动。比方,必要利用.config,则能够在服务器设置文件中按以下办法设置:
.代码以下:
AccessFileName.config
3、.htaccess会见把持
1、会见把持基本:Order命令
为了限定用户会见一些关头目次,一般到场.htaccess文件,罕见的写法以下:
.代码以下:
<Files~"^.*.([Ll][Oo][Gg])|([eE][xX][eE])">
Orderallow,deny
Denyfromall
</Files>
申明:
(1)Files后的海浪线暗示启用“正则表达式”,复杂的写法有:<Files*>。
(2)Order命令:经由过程Allow,Deny参数,Apache起首找到并使用Allow命令,然后使用Deny命令,以制止一切会见,也能够利用Deny,Allow。
4、URL重写
上面是一段复杂的URL重写划定规矩示例:
.代码以下:
#将RewriteEngine形式翻开
RewriteEngineOn
#Rewrite体系划定规矩请勿修正
RewriteRule^p/([0-9]+).html$index.php?post_id=$1
RewriteRule^u-(username|uid)-(.+).html$space.php?$1=$2
个中,RewriteEngine暗示开启URL重写,RewriteRule是重写划定规矩。
5、设置毛病页面
基础语法以下:
.代码以下:
#customerrordocuments
ErrorDocument401/err/401.php
ErrorDocument403/err/403.php
ErrorDocument404/err/404.php
ErrorDocument500/err/500.php
6、htaccess经常使用命令和设置技能
1.克制显现目次列表
有些时分,因为某种缘故原由,你的目次里没有index文件,这意味着当有人在扫瞄器地点栏键进了该目次的路径,该目次下一切的文件城市显现出来,这会给你的网站留下平安隐患。
为制止这类情形(而不用创立一堆的新index文件),你能够在你的.htaccess文档中键进以下命令,用以制止
目次列表的显现:
.代码以下:
Options-Indexes
2.制止/同意特定的IP地点
某些情形下,你大概只想同意某些特定IP的用户能够会见你的网站(比方:只同意利用特定ISP的用户进进某个目次),大概想封禁某些特定的IP地点(比方:将初级用户断绝于你的信息版面外)。固然,这只在你晓得你想拦阻的IP地点时才有效,但是如今网上的年夜多半用户都利用静态IP地点,以是这并非限定利用的经常使用办法。
你可使用以下命令封禁一个IP地点:
.代码以下:
denyfrom000.000.000.000
这里的000.000.000.000是被封禁的IP地点,假如你只指了然个中的几个,则能够封禁全部网段的地点。如你输出210.10.56.,则将封禁210.10.56.0~210.10.56.255的一切IP地点。
你可使用以下命令同意一个IP地点会见网站:
.代码以下:
allowfrom000.000.000.000
被同意的IP地点则为000.000.000.000,你能够象封禁IP地点一样同意全部网段。
假如你想制止一切人会见该目次,则可使用:
.代码以下:
denyfromall
不外这其实不影响剧本程序利用这个目次下的文档。
3.交换index文件
大概你不想一向利用index.htm或index.html作为目次的索引文件。举例来讲,假如你的站点利用PHP文件,你大概会想利用index.php来作为该目次的索引文档。固然也不用范围于“index”文档,假如你乐意,利用.htaccess你乃至可以设置foofoo.balh来作为你的索引文档!
这些互为交换的索引文件能够排成一个列表,服务器会从左至右举行寻觅,反省哪一个文档在实在的目次中存在。假如一个也找不到,它将会把目次列表显现出来(除非你已封闭了显现目次文件列表)。
.代码以下:
DirectoryIndexindex.phpindex.php3messagebrd.plindex.htmlindex.htm
4.重定向(rewrite)
.htaccess最有效的功效之一就是将哀求重定向到同站内或站外的分歧文档。这在你改动了一个文件称号,但仍旧想让用户用旧地点会见到它时,变的极其有效。另外一个使用(我发明的很有效的)是重定向到一个长URL,比方在我的时势通信中,我可使用一个很冗长的URL来指向我的会员链接。以下是一个重定向文件的例子:
.代码以下:
Redirect/location/from/root/file.exthttp:///new/file/location.xyz
上述例子中,会见在root目次下的名为oldfile.html能够键进:
.代码以下:
/oldfile.html
会见一个旧次级目次中的文件能够键进:
.代码以下:
/old/oldfile.html
你也能够利用.htaccess重定向全部网站的目次。假设你的网站上有一个名为olddirectory的目次,而且你已在一个新网站http:///newdirectory/上创建了与上不异的文档,你能够将旧目次下一切的文件做一次重定向而不用逐一声明:
.代码以下:
Redirect/olddirectoryhttp: ///newdirectory
如许,任何指向到站点中/olddirectory目次的哀求都将被从头指向新的站点,包含附加的分外URL信息。比方有人键进:
.代码以下:
http:///olddirecotry/oldfiles/images/image.gif
哀求将被重定向到:
.代码以下:
http:///newdirectory/oldfiles/images/image.gif
假如准确利用,此功效将极为壮大。
7、平安设置
上面的htaccess代码可以进步你的web服务器的平安程度。图片链接盗用回护十分有效,它能避免其别人偷窃利用你的服务器上的图片资本。
1.经由过程.htaccess放盗链
仇恨那些偷窃链接你的web服务器上的图片资本而耗尽了你的带宽的举动吗?尝尝这个,你能够避免这类事变的产生。
.代码以下:
RewriteBase/
RewriteCond%{HTTP_REFERER}!^$
RewriteCond%{HTTP_REFERER}!^http://(www.)?aqee.net/.*$[NC]
RewriteRule.(gif|jpg|swf|flv|png)$/feed/[R=302,L]
2.防黑客
假如你想进步网站的平安品级,你能够往失落上面的几行代码,如许能够避免一些罕见歹意URL婚配的黑客打击手艺。
.代码以下:
RewriteEngineOn
#proc/self/environ?没门!
RewriteCond%{QUERY_STRING}proc/self/environ[OR]
#制止剧本妄图经由过程URL修正mosConfig值
RewriteCond%{QUERY_STRING}mosConfig_[a-zA-Z_]{1,21}(=|%3D)[OR]
#制止剧本经由过程URL传送的base64_encode渣滓信息
RewriteCond%{QUERY_STRING}base64_encode.*(.*)[OR]
#制止在URL含有<script>标志的剧本
RewriteCond%{QUERY_STRING}(<|%3C).*script.*(>|%3E)[NC,OR]
#制止妄图经由过程URL设置PHP的GLOBALS变量的剧本
RewriteCond%{QUERY_STRING}GLOBALS(=|[|%[0-9A-Z]{0,2})[OR]
#制止妄图经由过程URL设置PHP的_REQUEST变量的剧本
RewriteCond%{QUERY_STRING}_REQUEST(=|[|%[0-9A-Z]{0,2})
#把一切被制止的哀求转向到403克制提醒页面!
RewriteRule^(.*)$index.php[F,L]
3.制止会见你的.htaccess文件大概指定范例的文件
上面的代码能够制止他人会见你的.htaccess文件。一样,你也能够设定制止多种文件范例。
#回护你的htaccess文件
<Files.htaccess>
orderallow,deny
denyfromall
</Files>
#制止检察指定的文件
<Filessecretfile.jpg>
orderallow,deny
denyfromall
</Files>
#多种文件范例
<FilesMatch“.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$”>
OrderAllow,Deny
Denyfromall
</FilesMatch>[/code]
4.克制剧本实行,增强你的目次平安
.代码以下:
#克制某些目次里的剧本实行权限
AddHandlercgi-script.php.pl.py.jsp.asp.htm.shtml.sh.cgi
Options-ExecCGI
8、一些经常使用的设置
1.时区设置
有些时分,当你在PHP里利用date或mktime函数时,因为时区的分歧,它会显现出一些很奇异的信息。上面是办理这个成绩的办法之一。就是设置你的服务器的时区。你能够在这里找到一切撑持的时区的清单。
1.SetEnvTZAustralia/Melbourne
2.搜索引擎优化/搜索引擎优化.html"target="_blank">搜刮引擎友爱的301永世转向办法
为何这是搜刮引擎友爱的呢?由于如今良多古代的搜刮引擎都有能依据反省301永世转一直更新它现有的纪录的功效。
.代码以下:
Redirect301http://www.aqee.net/homehttp://www.aqee.net/
3.屏障下载对话框
一般,当你下载器材的时分,你会看到一个对话框扣问你是坚持这个文件仍是间接翻开它。假如你不想看到这个器材,你能够把上面的一段代码放到你的.htaccess文件里。
.代码以下:
AddTypeapplication/octet-stream.pdf
AddTypeapplication/octet-stream.zip
AddTypeapplication/octet-stream.mov
4.省往www前缀
SEO的一个准绳是,确保你的网站只要一个URL。因而,你必要把一切的经由过程www的会见转向的非www,大概反这来。
.代码以下:
RewriteEngineOn
RewriteBase/
RewriteCond%{HTTP_HOST}^www.aqee.net[NC]
RewriteRule^(.*)$http://aqee.net/$1[L,R=301]
5.本性化Error页面
对每一个毛病代码定制本人本性化的毛病页面。
.代码以下:
ErrorDocument401/error/401.php
ErrorDocument403/error/403.php
ErrorDocument404/error/404.php
ErrorDocument500/error/500.php
6.紧缩文件
经由过程紧缩你的文件体积来优化网站的会见速率。
.代码以下:
#紧缩text,html,javascript,CSS,xml:
AddOutputFilterByTypeDEFLATEtext/plain
AddOutputFilterByTypeDEFLATEtext/html
AddOutputFilterByTypeDEFLATEtext/xml
AddOutputFilterByTypeDEFLATEtext/css
AddOutputFilterByTypeDEFLATEapplication/xml
AddOutputFilterByTypeDEFLATEapplication/xhtml+xml
AddOutputFilterByTypeDEFLATEapplication/rss+xml
AddOutputFilterByTypeDEFLATEapplication/javascript
.AddOutputFilterByTypeDEFLATEapplication/x-javascript
7.缓存文件
缓存文件是别的一个进步你的网站会见速率的好办法。
.代码以下:
<FilesMatch“.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”>
HeadersetCache-Control“max-age=2592000″
</FilesMatch>
8.对某些文件范例克制利用缓存
而另外一方面,你也能够定制对某些文件范例克制利用缓存。
.代码以下:
#显式的划定对剧本和别的静态文件克制利用缓存
<FilesMatch“.(pl|php|cgi|spl|scgi|fcgi)$”>
HeaderunsetCache-Control
</FilesMatch>
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln |
|