Htaccess文件用法集锦 提高服务器的安全水平
1.时区设置
有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。
SetEnv TZ Australia/Melbourne
2. 搜索引擎友好的301永久转向方法
为什么这是搜索引擎友好的呢?因为现在很多现代的搜索引擎都有能根据检查301永久转向来更新它现有的记录的功能。
Redirect 301 http://www.aqee.net/home http://www.aqee.net/
3. 屏蔽下载对话框
通常,当你下载东西的时候,你会看到一个对话框询问你是保持这个文件还是直接打开它。如果你不想看到这个东西,你可以把下面的一段代码放到你的.htaccess文件里。
AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov
4. 省去www前缀
SEO的一个原则是,确保你的网站只有一个URL。因此,你需要把所有的通过www的访问转向的非www,或者反这来。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.aqee.net [NC]
RewriteRule ^(.*)$ http://aqee.net/$1 [L,R=301]
5. 个性化Error页面
对每个错误代码定制自己个性化的错误页面。
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
6. 压缩文件
通过压缩你的文件体积来优化网站的访问速度。
# 压缩 text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
7. 缓存文件
缓存文件是另外一个提高你的网站访问速度的好方法。
<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”>
Header set Cache-Control “max-age=2592000″
</FilesMatch>
8. 对某些文件类型禁止使用缓存
而另一方面,你也可以定制对某些文件类型禁止使用缓存。
# 显式的规定对脚本和其它动态文件禁止使用缓存
<FilesMatch “.(pl|php|cgi|spl|scgi|fcgi)$”>
Header unset Cache-Control
</FilesMatch>
安全问题
下面的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匹配的黑客攻击技术。
RewriteEngine On
# 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>
order allow,deny
deny from all
</Files>
# 阻止查看指定的文件
<Files secretfile.jpg>
order allow,deny
deny from all
</Files>
#多种文件类型
<FilesMatch “.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$”>
Order Allow,Deny
Deny from all
</FilesMatch>
4. 重命名htaccess 文件你可以通过重命名htaccess文件来对其进行保护。
AccessFileName htacc.ess
5. 禁止目录浏览禁止服务器对外显示目录结构,反之亦然。
# 禁止目录浏览
Options All -Indexes
# 开放目录浏览
Options All +Indexes
6. 改变缺省的Index页面你可以把缺省的 index.html, index.php 或 index.htm 改成其它页面。
DirectoryIndex business.html
7. 通过引用信息来阻止某些不欢迎的浏览者# 阻止来自某网站的用户
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR]
RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR]
RewriteRule .* - [F]
</ifModule>
8. 通过判断浏览器头信息来阻止某些请求这个方法可以通过阻止某些机器人或蜘蛛爬虫抓取你的网站来节省你的带宽流量。
# 阻止来自某些特定网站的用户
<IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider
|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
</ifModule>
9. 禁止脚本执行,加强你的目录安全# 禁止某些目录里的脚本执行权限
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI
Linux VPS(CentOS)安装VNC远程桌面(完整测试)
在海外的VPS主机方案中,我们可选择的VPS产品以Linux居多,而且价格便宜。相反Windows的主机产品价格较贵,而且多样化利用价值不大。一般玩VPS或者用VPS主机建站的朋友,手上或多或少有几个Linux VPS主机。于是,在我们需要远程桌面进行某个项目操作的时候,还是希望能用WIN图形界面打开浏览器,登陆网站,操作某些简单的任务。
如果我们再去购买WIN VPS感觉也没有太必要,于是就出现很多基于Linux的图形界面系统,比如之前老左分享的"CentOS安装FreeNX桌面环境"。今天老左再分享一个也是基于centos环境的VNC远程桌面。在写教程之前,从安装到最后完成持续了有1个小时的时间。分享教程真的比较耗时间,即便很多都是参考网上的,但需要经过自己的验证才能发布,如果不好用会浪费大家时间。
第一步,系统环境。我是在ovz VPS中测试的,centos 5 32位。
第二步,安装KDE(Kool Desktop Environment)桌面环境。KDE桌面环境是最为流行的 Linux、Unix、FreeBSD图形桌面系统之一。
yum install kdepim
yum groupinstall "X Window System"
yum groupinstall "KDE (K Desktop Environment)"
yum -y install vnc vnc-server firefox x11-xorg
上面命令都要安装进去,其中包括装了火狐浏览器,因为这是我们到时候操作任务需要用的。
第三步,启动VNC 服务,设置VNC桌面登陆密码。
vncserver
第四步,组织VNC进程
pkill -9 vnc
rm -rf /tmp/.X1*
第五步,编辑启动xstartup文件
vi /root/.vnc/xstartup
输入上面命令,把twn改成startkde然后保存退出。
第六步,重启VPS :reboot
第七步,获取登陆地址
登陆SSH,然后输入vncserver命令会看到我们的登陆地址。
第八步,登陆。从网上下载VNC登陆软件(VNC Viewer)。安装后用上面的地址登陆,密码是我们在第三步设置的密码。
这样我们在LINUX就有了类似WIN一样的远程桌面。本文参考自angkaka博客教程,然后经过实践重新理顺一遍。希望对有需要的朋友能够快速建立VNC远程桌面提供帮助。
Linux VPS CentOS安装FreeNX桌面环境
VNC远程登录工具(RealVNC)下载及使用方法
老左之前分享了一篇在linux VPS安装WIN环境的方法,涉及到需要用到VNC远程连接工具,有朋友估计和我差不多属于菜鸟级别,我没有详细点名如何使用VNC连接,所以这位朋友在咨询这个问题。正好现在有一点时间,就分享下我使用的工具RealVNC。
第一,去搜索RealVNC且下载,因为时间有限,我也没有提供下载源,大家就辛苦一点从网络上下载。下载完毕之后就安装,安装之后就是连接。
第二,连接方法。
这个地址是我的IP加上之前我用vncserver检测出来的登陆地址,在上一篇中已经提到过。
点击确定后连接,需要输入我们在第三步设置的密码。
登陆后直接就可以看到我们远程的LINUX VPS桌面界面。
一条命令设置文件夹755,网页文件644权限
虽然我们在VPS上搭建网站比网站比较自由,但是空间的安全设置都需要我们自己来做。一旦网站空间或者网页的不安全,可能会通过提权的方式影响其他的网站。当然,具体的安全老左不是太懂。主要是今天上午在遇到一个问题,由于转移出来的网站文件都是777权限,然后搬迁至主机中导致403错误提示,这是需要我们对所有的文件夹设置755,所有的网页文件设置644才可以解决。
很多人会发现,如果手工设置会非常的麻烦,因为每个文件夹下会有文件夹,也有文件。有没有一个命令可以直接设置呢?
SSH命令方法1
find . -exec sh -c "if [[ -d "{}" ]]; then chmod 755 "{}"; else chmod 644 "{}"; fi " \;
SSH命令方法2
find ./ -type d -print|xargs chmod 755; find ./ -type f -print |xargs chmod 644
通过以上的任意一个方法,都可以解决设置文件夹755,网页文件644权限。
推荐一个skydrive的外链工具
前面曾经提到,如果采用了一个blogger模板,其中很多图片来自墙外,那就需要修改这些图片到国外的稳定未屏蔽图床,或者干脆国内的图床。
其实这时候采用skydrive是个比较平衡的方法,skydrive来自微软,鉴于微软与我共保持了强大而稳定的政府关系,skydrive还是始终活在大墙内外的。
skydrive为每个用户提供了高达25G的免费空间,不用真浪费了。但是我们从skydrive分享的图片是拿不到外链地址的,damn it,好在功夫不负有心IT攻城狮,网上有不少转换skydrive外链的工具。我一般用的是这款
http://www.crifan.com/files/tool/html/genSkydriveExtLink.html
普通ADSL用户如何使用ipv6
windows下常用ipv4toipv6方式中
需要公网ip的: isatap隧道、6to4隧道、Tunnelbroker
不需要公网ip的:teredo隧道、第三方软件
一、直接拨号,本机拥有公网ip(PPOE)
XP系统下默认未安装ipv6
(1)安装ipv6命令: ipv6 install
(2)ADSL拨号自动获取ipv6地址ipv6网关(全自动无需干预)
(3)网络测试命令:
ping6 ipv6.google.com
tracert6 ipv6.google.com
(4)Vista/WIN7下ipv6已支持,直接ADSL拨号即可使用
原理分析:
直接拨号的ADSL用户最大的特点是本机拥有ipv4的公网ip,可以使用isatap隧道或6to4隧道
目前电信ADSL用户已经全面开始支持ipv6,无论哪种隧道都可以直接获取到ipv6的ip地址,直接上网即可
部分尚未支持ipv6的ADSL用户,具体解决办法:
1、手动配置isatap隧道
2、手动配置6to4隧道
3、使用隧道代理,如: http://www.tunnelbroker.net/
注册后Create Regular Tunnel(ipv4边界ip即你的公网ip)
Hamachi – 让你的IP固定起来
你是 ADSL 用户么?那 IP 变来变去的招数可能就是你头疼的地方了
而Hamachi这款软件可以使你的 IP 固定起来。
对于没事想开点服的人,IP 这货就一直是个问题。
不是你变来变去地有毛意思?于是乎,Hamachi这款软件便伟大地诞生了。
不是你变来变去地有毛意思?于是乎,Hamachi这款软件便伟大地诞生了。
在它英明而神圣的指导下,你的 IP 将乖乖听话,变成固定形式。
如上图,Hamachi给了我一个 IP 25.78.151.224。
在创建一个网络或加入现有的网络后
机油们就可以在这个 IP 上互搞了~~(节操) 当然前提是他也要有Hamachi。
欲安装Hamachi请到官网进行注册。
在注册完成之后会自动下载一个安装文件
不过这不是客户端安装程序。要客户端需到用户中心去下载。
P.S.Hamachi的数据可是有加密的。如果你的电脑不把证据供出来,那么搞神马不会有人知道的~
诺顿 – 提供免费DNS服务
近期赛门铁克公司新推出一项名为Norton ConnectSafe的DNS安全防护业务,这项业务针对个人及家庭用户完全免费,主要用于“保护用户的网络不受非安全或不良网站的影响,并且无须为此安装额外的软件”。
该项业务尚无中文名称(诺顿产品列表中只有Norton One与Norton ConnectSafe为英文名),从其所提供的服务内容判断,Norton ConnectSafe应当脱胎于之前诺顿仿照OpenDNS与Google DNS推出的免费DNS服务。
诺顿官方数据地图表明,目前ConnectSafe的数据中心服务器共有15处,分别位于北美、欧洲和亚洲(东京、新加坡和中国香港三地),数据中心的分布应当是与业务关键利润预期以及网络安全的未来趋势有关。
个人用户使用这项免费的安全服务非常方便。按照官方网站的说明,首先需要在这个地址进 行确认(相当于软件或服务的使用授权协议),完成后网页显示的提示表明一共可有两种方式使用这项服务,一是配置路由,二是配置到单独的电脑上。在大多数情况下,用户可按照诺顿官方的推荐采用布署至路由的方式。
进入路由配置页面后,有三个级别的安全选项,用户可根据不同的需求选择不同的DNS服务器主辅地址。
A 选项主要是针对危害型网站,例如垃圾站、钓鱼站等;B选项针对危害型网站及色情网站;C选项包括的范围除了A、B以外,还有家庭适用类(根据诺顿此项服务 的说明,此类别应当指适合一般普通家庭成员访问的,比如不含有暴力、语言攻击、堕胎、酗酒等)。依照用户选择的不同安全级别,ConnectSafe自动 给出不同的DNS服务器地址。
在得到所需要的DNS服务器地址后,将之按说明与指导步骤输入路由的相关设置栏里即可。一般用户的路由通常是 选择自动配置地址的,即ISP分配给的DNS地址,在重新配置时,可能需要选择自定以输入诺顿此项服务提供的专属地址。一般来说,要求不是十分严格的话, 采用A选项就足够了,地址分别是198.153.192.40(主)、198.153.194.40(辅)。设置完成之后,点击右侧的Test Norton ConnectSafe的灰底橙色按钮即可验证配置是否成功。
目 前免费DNS服务大体上有OpenDNS和Google DNS比较受欢迎,OpenDNS也有类似的安全服务,但将安全DNS的服务做成自有品牌的,似乎诺顿还是头一家。仔细想想诺顿对此的重视并不奇 怪,DNS服务涉及到安全,而这正是赛门铁克的核心业务和利润区,随着客户对安全的需求从单机和普通病毒转向网络和信息后,诺顿也会及时扩展自己的产品线 或产品功能以满足客户的需求、巩固自己的核心竞争能力。其二,向家庭用户提供免费的服务有助于建立和协调诺顿的全球防护体系,通过数据共享至诺顿的安全中 心和用户社区,用户和诺顿都可以尽早的发现网络威胁(使用过诺顿网络安全特警和防毒软件的用户对Norton File Insight和Insight Network应当不陌生)。其三,透过大量用户对DNS服务器的使用,诺顿官方可以收集用户访问数据和访问偏好,从而更好的分析用户行为和网络安全之间 的关联,这些数据将可能为诺顿个人版软件和企业版软件以及服务产品提供极有价值的分析数据和前瞻性的预测报告。
Norton ConnectSafe 安全级别及相应DNS:
A – 安全性(恶意软件,钓鱼网站和诈骗网站)
首选DNS: 198.153.192.40
备用DNS: 198.153.194.40
备用DNS: 198.153.194.40
B – 安全+色情
首选DNS:198.153.192.50
备用DNS:198.153.194.50
备用DNS:198.153.194.50
C – 安全+色情+非家庭
首选DNS:198.153.192.60
备用DNS:198.153.194.60
备用DNS:198.153.194.60
你可以根据自己的使用情况选择相应的DNS服务。并将你选定的DNS地址填入TCP/IP协议中即可。
Windows 7 更改DNS方法:
1、打开“控制面板”,在“网络和Internet”部分中,单击“ 查看网络状态和任务”。
2、在查看活动网络部分,单击该项目右侧的连接:
3、在常规选项卡上的“ 连接状态“窗口中,单击“ 属性“。
4、向下滚动并选择Internet协议版本4(TCP/IPv4)“ ,然后单击“ 属性“。
5、在较低的部分“ Internet协议版本4(TCP/IPv4)属性窗口中,选择“ 使用下面的DNS服务器地址“;
6、然后键入的诺顿ConnectSafe IP地址,单击“ 确定“并退出所有的窗户。
你也可以直接进入以下诺顿官方页面按提示操作:
https://dns.norton.com/dnsweb/huConfigurePc.do
修改为此类境外DNS服务器可以防止运营商的DNS劫持(广告),并不能防止GFW的DNS污染,不过有助于VPN下翻墙,但是可能会导致访问部分国内网站速度变慢。另外这个Norton的貌似也没什么用,设置最安全那个C色情网站照样能开。所以大家还是继续用谷歌家的8.8.8.8,8.8.4.4吧,连优酷网都在推荐谷歌家的DNS服务。
Yandex – 提供免费代理定制版Chrome
Yandex是俄罗斯最大的搜索引擎网站
最近推出的一款基于Chromium(一个由Google Chrome主导开发的开源项目)的浏览器。
Yandex Browser在Chromium基础上进行了较大改进
比方引入了常见于Opera浏览器的Turbo功用等
开启Yandex Browser的Turbo服务后
网络流量会通过其设置在俄罗斯的署理服务器对传输数据进行压缩,
以便在较慢的网络下节省传输流量、加速浏览速度
Turbo功用运用简单,下载安装Yandex Browser后,开启Turbo模式就能够运用其Turbo服务访问被封网站了。
开曼.KY免费顶级域名注册图文教程
这个域名是开曼群岛国家顶级域名,现在据说已经有人申请成功了,比如bbs.ky,但是由于申请需要人工审核而且条件还是比较苛刻的,所以申请成功的人还是很少的。不过,如果申请到了,应该就能一直免费下去。
根据我的测试,想baidu.ky,taobao.ky,google.ky等域名都可以申请,不过,即使你申请成功了这样的 ,可能也不能那么让人放心吧。所以还是挑点其他的好域名吧,比如url.ky等。
因为申请不容易,所以对于百度或google来说,应该挺好收录的,不会像tk免费域名那样,百度不收录,只有google可以去收录。
根据我的测试,想baidu.ky,taobao.ky,google.ky等域名都可以申请,不过,即使你申请成功了这样的 ,可能也不能那么让人放心吧。所以还是挑点其他的好域名吧,比如url.ky等。
因为申请不容易,所以对于百度或google来说,应该挺好收录的,不会像tk免费域名那样,百度不收录,只有google可以去收录。
下面的教程也是网上转来的,本人并没有去测试。想申请的话请自便。
申请开曼群岛.ky域名的条件:
开曼群岛(Cayman Islands,有时也译为凯门群岛)是英国在西印度群岛的一块海外属地,由大开曼、小开曼和开曼布拉克3个岛屿组成。开曼群岛是世界第四大离岸金融中心,并是著名的潜水胜地。
KY免费顶级域名申请地址:开曼群岛(Cayman Islands,有时也译为凯门群岛)是英国在西印度群岛的一块海外属地,由大开曼、小开曼和开曼布拉克3个岛屿组成。开曼群岛是世界第四大离岸金融中心,并是著名的潜水胜地。
.KY域名是开曼群岛的顶级国别域名,现在开放申请。申请需要审核.只有开曼群岛的个人,企业和组织可以申请!申请不难,关键是得到开曼群岛的个 人,企业或组织信 息,全英文,感兴趣的可以去试一下。关于开曼的企业或个人信息自己google去搜索吧。可申请以下域名: .ky .com.ky .org.ky .net.ky .edu.ky .gov.ky
KY免费顶级域名申请教程:
1.访问申请地址,输入域名前缀,点击【Check availability】
注意:这里的信息必须是开曼群岛本地的,注意邮政箱号码一定要对应类型,我只知道五位数的是APO
下面对.KY免费顶级域名进行管理:
按照下图进行管理,具体的操作和其他如godaddy啥的也差不多,就自己试一下吧。
这里有开曼群岛一些公司的黄页目录。能看懂英文应该可以利用下找到一些开曼群岛的地址:
http://cayman-company.com/cayman_website_directory.htm
http://cayman-company.com/cayman_website_directory.htm
订阅:
博文 (Atom)