Posts Tagged block

Gspay Error code 101解决方法

测试Gspay时,在Gspay支付页面提交个人地址信息并跳转下一步时报错了,错误代码如下:

Internal error: Authorization declined

Error code 101

在网上搜了下,没相关资料,只有一个外贸网站的FAQ里有提到

12 .Common payment error code:
101 customers IP does not match the selected countries  102 The IP of the client’s country is blocked 103 Customer’s IP  of  United States does not match the state 104 card holders who deceived 105 fraudulent card number 106, the language of the client browser is blocked 107 client countries, blocked 108 fraudulent e-mail address 109 deceived IP 110 deceived phone numbers to 111 client browser is blocked 112 transaction limit in excess of the maximum 113 hours IP restrictions 114 Unreasonable customer information

意思是说客户的IP和地址里所填写国家并不匹配,所以被拒绝了,这是信用卡安全机制的一部份

因为我们用的测试帐号一般都乱填的国家,但IP却是中国的,被检测出来

要顺利测试的话,只要在国家里选中国,就OK了

  • Share/Bookmark

Tags: , , , , , , ,

cc 攻击及其解决方案

首先攻击者拥有一个流量巨大的网站,这个网站的流量,很可能是他花钱买回来的,当然也可能是他控制的肉鸡,在控制的肉鸡上面访问他的网站。黑客的网站首页非常简单,但是在他的源代码中,却隐藏了达到上百个<iframe>标签。对!聪明的你,应该想得出他的<iframe>标签里面放的是什么了吧?没错!他的<iframe>里面,放的就是他要攻击的网站的地址。

        举一个例子来说明一下攻击者的威力,假设黑客的网站是aaa.com,你的网站是BBB.com。如果有人在163的首页代码中,有这么一段:<iframe src=”http://aaa.com” border=”0″ width=”0″ height=”0″></iframe>,那么在所有人访问163的主页时,也会不知不觉的访问http://aaa.com。然后http://aaa.com的首页中可能有100个如下的代码:<iframe src=http://BBB.com border=”0″ width=”0″ height=”0″></iframe>,当然他还可能放上bbb.com这个网站十个甚至更多不同的地址。那就表明:凡是有一个人访问了163,就可能会访问BBB.com十次。以每秒300个请求来说,一天就是25920000个请求,再加上页面上的图片和其它文件等,估计就是上亿个请求了。1天上亿个请求,普通的网站受得了吗?有很多被攻击的网站用的是虚拟主机,每秒不到100个连接可能就无法提供服务了。即使是那种单独几台服务器的网站,也根本就无法承受!即使WEB Server可以承受,那带宽呢?即使带宽可以承受,那么Db Server呢?

        朋友的网站就受到此种攻击,他试着将网站转移到他朋友的服务器上面,当然最后的结果还是照样拖累他朋友的服务器瘫痪。

        这种就是是典型的CC攻击。CC攻击比DDOS攻击更可怕的就是,CC攻击一般是硬防很难防止住的。为什么呢?一、因为CC攻击来的IP都是真实的,分散的;二、CC攻击的数据包都是正常的数据包;三、CC攻击的请求,全都是有效的请求,无法拒绝的请求。

        其实只要仔细研究了一下这种攻击的模式,发现这种攻击,理论上是可以防止的,即只要通过有效的手段,完全可以将危害降低到最轻。因为这种攻击有一个致命的弱点。它致命的弱点在哪里呢?当然就是在<iframe>上面。通过<iframe>进行CC攻击,攻击者的想法和创意,确实很让人惊叹,但这正好造成了他的完美失败。熟悉网页程序的朋友应该都知道,用<iframe>嵌入的网页,自然都会有HTTP_REFERER值,而有了这个值,从这个值上面屏蔽或是转发掉来源的网站即可。也就是说,你可以访问我,但是我不将真实的页面返回给你,我可以把你随意打发掉,或是将你随意转到另外一个网站上去(如:公安部?哈哈,我就见过有人类似这样做的),这样我就可以大量的节省我的带宽、我的DB Server资源、我的Web Server资源。你最多就是占用了我大量的TCP连接罢了。
        下面贴一段Web server的配置代码,用于解决此类攻击:

        valid_referers none blocked server_names google.com google.cn *.google.com *.google.cn baidu.com *.baidu.com *.你自己的域名(在这里还可以加入其他的,比如说SOSO,YAHOO,SOGOU YOUDAO等);
if ($invalid_referer) {

        return   404;
        }

        上面的代码,很简单的设置了,只要不是HTTP_REFERER来源于上面设置网址来源的请求,通通转发至404。
        在此顺便提醒一下那些卖流量的站长们,不要因为自己的一点小利,就不小心成了黑客攻击者们的肉鸡。

转载自邹清水 – 你的朋友

  • Share/Bookmark

Tags: , , , , , , ,

RTX2009破解版支持11月12日更新的最新版

RTX2009又更新了,11月12号推出了新的腾讯通正式版,升级的一些功能如下:

新特性
个人信息Tips提示框支持显示第三方嵌入的多态图标。
对话窗口支持看到远程登录用户的IP地址及真实所在地区。
中心服务器(RCA2.0)管理器支持显示集群企业所共享的组织架构。
服务器提供RTX群创建、修改、删除以及查询成员等SDK接口。
网页申请帐号及审核支持国际化,增加英文版本网页。
企业集群时进行外部多人会话的成员可支持到25人。
支持在点击消息提醒中的超级链接时自动关闭消息提醒框。
严重问题修改
解决通过SDK导入大于512KB的XML格式用户数据会失败的问题。
解决客户端某个月的聊天记录文件被损坏后看不到所有聊天记录的问题。
解决Outlook中RTX状态感知图标没有下拉菜单的问题。
解决服务器中SendIM的SDK接口在接收者太多时收不到消息的问题。
解决服务器数据库损坏时不能调用自动修复功能的问题。

经过严格测试,我所制作的RTX破解补丁依然有效,无限期,支持最大在线人数9999

此次更新只做了功能上的改进和BUG的修复,没有对licence部份进行改动,所以RTX2009破解补丁依旧可用

大家也不必担心它的再次更新问题,就算下一次更新了,补丁无法使用,我们依然可以选择用这个版本的,因为功能已相当完善了

另外,本人很忙,不提供咨询或赠送服务,有意都请付费购买,购买地址:

疯狂的柠檬淘宝店RTX专卖,QQ:165482921

一句老话,非诚勿扰,每个人的时间都是宝贵的,要是这点费用出不起,那就不要加我了

  • Share/Bookmark

Tags: , , , , , , , , , , , , , ,

关于HTML标记语言-锚点(#井号)

博客的评论链接经常看到类似如下地址:

http://www.crazylemon.net/crazylemon/xxxx.html/comment-page-1#comment-xxxx

此链接不公可跳转至指定页面,还可以定位到具体的段落位置,即HTML标记语言-锚点的使用

说明如下:

HTML中的链接,正确的说法应该称作”锚点”,它不仅让我们能指向文档,还能指向页面里的特定段落,更能当作”精准链接”的便利工具.让链接对象接近焦点.在这一章里,我们将看到四种不同的锚点做法,说明每个方法的优点,也会介绍title属性如何能提升链接的易用性,另外也将使用CSS为链接设计样式.

在需要指定到页面的特定部分时,标记锚点是最佳的方法

这是在设计网站时经常遇到的情况,你想链接到某个页面的特定部分,可是使用者正在阅读的可能是在另外的一个页面,接下来讨论的四种方法之中任选一种都能让你达成目标.

在示例中,假设我们打算链接到同一个页面中的特定标题:

方法A:空洞的名称

<p><a href=”#oranges”>About Oranges</a></p>

…一些文字…

<a name=”oranges”></a>

<h2>Oranges Are Tasty</h2>

…更多文字…

效果不错,但是浪费一个内容空白的标签来标识链接位置有点不合语义,方法B能改进这点.

方法B:全部在名称之内

<p><a href=”#oranges”>About Oranges</a></p>

…一些文字…

<h2><a name=”oranges”>Oranges Are Tasty</a></h2>

…更多文字…

与方法A一样,我们仍然使用<a>标签配上name属性,但这次我们把它包在我想要链接的标题外面,这么做看起来的确比较符合语义,在方法A里头,我们的连接对象是…恩,什么都没有,但是在方法B里,我们不仅说明了这段文字是标题标签的一部分,同时也是这个页面的连接锚点之一.

注意:小心<a>的全局样式!

还有更多方法,请参考网站资料

奇怪的是,我的其它网站在特定因素下,如用theworld或IE7以下浏览时,地址后会跟个#号,晕死,没有参数的

这个暂时不明原因,应该是html代码兼容性问题,而且应该不影响SEO

  • Share/Bookmark

Tags: , , , , ,

关于RTX腾讯通2009beta1的破解方法

新增功能

  1. 完善SDK接口,增加发送IM消息、看部门/用户是否存在、用户名与RTX号码转换等接口
  2. 支持组织架构部门嵌入图标功能
  3. 支持个人Tips嵌入链接
  4. 支持多文件服务器部署,解决大型分公司与总部发文件占用带宽问题
  5. 改善P2P文件传输速度,较上个版本速度有大幅度提高
  6. 调整IM窗口“清屏”按钮,避免点错
  7. 修正集群部署时中心服务器的2个重要bug
  8. 修正通过SDK大量同步用户数据导致出现“查询数据库失败”的Bug

安装方法,服务器端直接覆盖RTX2008版即可,最好先备份出数据,详细的官方有升级说明文档

RTX破解补丁有两个文件,Licence.dll和RtxLcsMgr.dll

用16进制打开Licence.dll,找到相应的值进行修改,便可调整最大在线人数等限制

这个Licence.dll是别人破解出来的,用官方的直接修改无效

另外,人数上限应该是9999,再高也没意义,会被打回200人上限,之前有测试过,网上流传所谓20000人的版本是无效的,估计是破解者故意留下的伏笔,虽然在服务器端可看到20000这个数据,但查看启动的log文件,还是显示200的;9999人数则可以成功,目前我测试的最高约四百人上线,因为没那么多人了,要是真9999人在线,只应服务器性能和带宽的问题

升级成功后关闭所有RTX服务和服务端软件,覆盖这两个文件,再启动RTX即可

RTX服务端可配置让客户端提示或强制更新,和QQ差不多,很方便,很人性化

  • Share/Bookmark

Tags: , , , , , , , , , , ,

IXWebHosting的服务协议

每个用户在享受我们的服务前,都需要仔细阅读以下各项,同意后才能享受到IX Web Hosting提供的服务。IX Web Hosting保留在不通知的情况下修改本协议的权利,以利于业务的发展与规划。

退款保证  

  • 30天全额退款保证。如果您在申请成功起30天内,向我们提出退款,可以得到全额的退款,但因为超额使用资源或注册了免费域名的费用及因违反服务协议而被禁用帐户的除外。
  • 随时退款保证。如果超过了30天,申请退款的客户可以退还当月及未使用且预付了的费用,但因为超额使用资源或注册了免费域名的费用及因违反服务协议而被禁用帐户的除外。

99.9%正常运行保证
    IX Web Hosting承诺在12个月内,提供的站点服务正常运行率是99.9%,否则客户有权利要求得到补偿。但因为某些不在IX Web Hosting的控制范围内的因素引起的中断服务不包括在内,如互联网地区性的访问故障,地震等自然灾难。

禁止情色内容
    不允许放置或发布任何A内容或链接。但如以宣传艺术为目的的除外。

平等使用资源
    IX Web Hosting根据服务经验为每个方案预先设定了资源的使用尺度,如存储容量、月流量、FTP帐户等。但有以下事项需要客户注意

引用:
  • 不允许放置违反版权的文件,如破解软件,音乐文件等。且不应当提供给第三方作为FTP服务器,专用于文件的存储及下载。所有的可供下载的文件,应该可见,即有网页或索引文件提供链接。
  • 网页空间服务是在共享的环境中,每个客户都不应该占用过多的CPU、内存、流量、磁盘等资源,对于超额使用资源的客户,IX Web Hosting有权利要求额外的收费甚至对影响到其他用户的客户进行严厉的处罚。

禁止制造垃圾邮件
     止发送垃圾邮件或派发不受欢迎的商业性质邮件。

禁止不良脚本或程序
     对于特别目的的脚本,如IRC, Proxy, SSH, Telnet或其他严重影响服务器正常运行的,IX Web Hosting有权利在不通知客户的情况下删除或冻结帐户。

支付
    客户可以设置帐户的状态,选择合适的支付周期,IX Web Hosting有权终止欠费的帐户。
有限的技术支持 IX Web Hosting提供与业务相关的技术支持,如控制面板等,之外的服务请求可能被谢绝。

网络使用

引用:
  • IP地址属于IX Web Hosting。每个主机方案分配的独立IP地址属于IX Web Hosting,客户拥有被IX Web Hosting授予的使用权限
  • 磁盘容量及流量。超过方案预设的容量及流量使用将可能被警告、收取额外的费用,甚至删除帐户
  • 安全。不允许任何形式的,使服务器处于一种不良的使用状态,如越权访问,扫描端口,更改TCP/IP数据包或其他非法行为

处罚 违反服务协议的客户可能第一次会受到警告,且要求解释或终止有害行为。第二次将可能会被冻结或删除帐户。

  • Share/Bookmark

Tags: , , , , , , , , ,

bluehost主机无法通过php使用自己的SMTP服务

无论怎么设置,都提示无法连接到smtp服务器,错误信息如下:

Trying to smtp.163.com:25 Error: Cannot connenct to relay host smtp.163.com Error: Connection refused

和对方在线客服对话,答复是:

it won’t work. external SMTP connections are blocked by our firewall

原来是主机不支持,防火墙阻止了,无法连接任何外部smtp服务器

这下子晕菜了,继续对话中

sorry. we do not allow outbound SMTP connections from our servers

额。。。他们不允许这么做的,不能出站连接SMTP服务器

只好换种方式了

和老外对话很累,金山词霸,google翻译全用上了,汗自己一个

不过bluehost的服务还是不错的,一般在线客服两三分钟就有回复了,比中国的联通移动客服强很多,至少不会让你等个几分种再说话务忙,请稍后再拨…

  • Share/Bookmark

Tags: , , , , , ,

.htaccess使用指南

Apache服务器的.htaccess是一个非常强大的分布式配置文件,学会使用.htaccess,对虚拟主机用户来说,可以实现众多的功能。这里有一篇很容易让人理解的.htaccess介绍,作为入门文章非常的适合。

1、介绍

从本指南中,你将可以学习到有关.htaccess文件及其功能的知识,并用以优化你的网站。尽管.htaccess只是一个文件,但它可以更改服务器的设置,允许你做许多不同的事情,最流行的功能是您可以创建自定义的“404 error”页面。.htaccess 并不难于使用,归根结底,它只是在一个text文档中添加几条简单的指令而已。

我的主机支持它吗?

这可能很难用简单的答案来回答。许多主机支持.htaccess,但实际上并不会特别声明,许多其他类型的主机有能力但并不允许他们的用户使用.htaccess。一般来说,如果你的主机使用Unix或Linux系统,或任何版本的Apache网络服务器,从理论上都是支持.htaccess的,尽管你的主机服务商可能不允许你使用它。

判断你的主机是否允许.htaccess,一个标志很好的是它是否支持文件夹密码保护。为达到此功能,主机服务商需要使用.htaccess(当然,少数情况下他们虽提供密码保护功能,但却并不允许你使用.htaccess)。如果你不确定自己的主机是否支持.htaccess,最好的办法是上传你自己的.htaccess文件看看是否有用,或者直接发送e-mail向你的主机服务商咨询。

我该怎么做?

你可能疑惑.htaccess到底能做些什么,或者你可能曾知道它的一些功能但并不真正了解你实际到底可以用它来做多少事情。

htaccess可以做大量的事情,包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件。

创建一个.htaccess文档

创建.htaccess文件也许会给你带来一些困难。写文件很容易,你只需要在文字编缉器(例如:写字板)里写下适当的代码。真正困难的可能是文件的保存,因为.htaccess是一个古怪的文件名(它事实上没有文件名,只有一个由8个字母组成的扩展名),而在一些系统(如windows 3.1)中无法接受这样的文件名。在大多数的操作系统中,你需要做的是将文档保存成名为:”.htaccess”(包括引号)。如果这也不行,你需要将其先命名为其它名字(例如htaccess.txt),再将其上传到服务器上,之后直接使用FTP软件来重命名。

警告

在使用.htaccess之前,我必须给你一些警告。虽然在服务器上使用.htaccess绝对不太可能给你带来任何麻烦(如果有些东西错了,它只是没效用罢了),但如果你使用Microsoft FrontPage Extensions,就必须特别小心。因为FrontPage Extensions本身使用了.htaccess,因此你不能编辑它并加入你自己的信息。如果确实有这方面的需要(并不推荐,但是可能),你应该先从服务器上下载.htaccess文档(如果存在),之后在前面加上你的代码。

自定义错误页

我要介绍的.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自己的、个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误页或没有任何页面。这会让你的网站在出错的时候看上去更专业。你还可以利用脚本程序在发生错误的时候通知你(例如我使用Free Webmaster Help的PHP脚本程序,当找不到页面的时候自动e-mail给我)。

你所知道的任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面:

ErrorDocument errornumber /file.html

举例来说,如果我的根目录下有一个nofound.html文件,我想使用它作为404 error的页面:

ErrorDocument 404 /notfound.html

如果文件不在网站的根目录下,你只需要把路径设置为:

ErrorDocument 500 /errorpages/500.html

以下是一些最常用的错误:

401 – Authorization Required 需要验证
400 – Bad request 错误请求
403 – Forbidden 禁止
500 – Internal Server Error 内部服务器错误
404 – Wrong page 找不到页面

接下来,你要做的只是创建一个错误发生时显示的文件,然后把它们和.htaccess一起上传。

2、命令

介绍

在上一部分,我已经简单介绍了.htaccess以及它的一些有用功能,在这一部分,我将向你演示如何使用.htaccess文档去实现这些功能。

停示显示目录列表

有些时候,由于某种原因,你的目录里没有index文件,这意味着当有人在浏览器地址栏键入了该目录的路径,该目录下所有的文件都会显示出来,这会给你的网站留下安全隐患。

为避免这种情况(而不必创建一堆的新index文件),你可以在你的.htaccess文档中键入以下命令,用以阻止目录列表的显示:

Options -Indexes
Deny/Allow Certian IP Addresses 阻止/允许特定的IP地址

某些情况下,你可能只想允许某些特定IP的用户可以访问你的网站(例如:只允许使用特定ISP的用户进入某个目录),或者想封禁某些特定的IP地址(例如:将低级用户隔离于你的信息版面外)。当然,这只在你知道你想拦截的IP地址时才有用,然而现在网上的大多数用户都使用动态IP地址,所以这并不是限制使用的常用方法。

你可以使用以下命令封禁一个IP地址:

deny from 000.000.000.000
where 000.000.000.000 is the IP address. If you only specify 1 or 2 of the groups of numbers, you will block a whole range.
这里的000.000.000.000是被封禁的IP地址,如果你只指明了其中的几个,则可以封禁整个网段的地址。如你输入210.10.56.,则将封禁210.10.56.0~210.10.56.255的所有IP地址。

你可以使用以下命令允许一个IP地址访问网站:

allow from 000.000.000.000

被允许的IP地址则为000.000.000.000,你可以象封禁IP地址一样封禁整个网段。

如果你想阻止所有人访问该目录,则可以使用:

deny from all

不过这并不影响脚本程序使用这个目录下的文档。

Alternative Index Files 替换index文件

也许你不想一直使用index.htm或index.html作为目录的索引文件。举例来说,如果你的站点使用PHP文件,你可能会想使用index.php来作为该目录的索引文档。当然也不必局限于“index”文档,如果你愿意,使用.htaccess你甚至能够设置foofoo.balh来作为你的索引文档!

这些互为替换的索引文件可以排成一个列表,服务器会从左至右进行寻找,检查哪个文档在真实的目录中存在。如果一个也找不到,它将会把目录列表显示出来(除非你已经关闭了显示目录文件列表)。

DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm

重定向

.htaccess最有用的功能之一就是将请求重定向到同站内或站外的不同文档。这在你改变了一个文件名称,但仍然想让用户用旧地址访问到它时,变的极为有用。另一个应用(我发现的很有用的)是重定向到一个长URL,例如在我的时事通讯中,我可以使用一个很简短的URL来指向我的会员链接。以下是一个重定向文件的例子:

Redirect /location/from/root/file.ext
http://www.othersite.com/new/file/location.xyz

上述例子中,访问在root目录下的名为oldfile.html可以键入:

/oldfile.html

访问一个旧次级目录中的文件可以键入:

/old/oldfile.html

你也可以使用.htaccess重定向整个网站的目录。假如你的网站上有一个名为olddirectory的目录,并且你已经在一个新网站 http://www.newsite.com/newdirectory/上建立了与上相同的文档,你可以将旧目录下所有的文件做一次重定向而不必一一声明:

Redirect /olddirectory http://www.newsite.com/newdirectory

这样,任何指向到站点中/olddirectory目录的请求都将被重新指向新的站点,包括附加的额外URL信息。例如有人键入:

http://www.youroldsite.com/olddirecotry/oldfiles/images/image.gif

请求将被重定向到:

http://www.newsite.com/newdirectory/oldfiles/images/image.gif

如果正确使用,此功能将极其强大。

3、密码保护

介绍

尽管有各种各样的.htaccess用法,但至今最流行的也可能是最有用的做法是将其用于网站目录可靠的密码保护。尽管JavaScrip等也能做到,但只有.htaccess具有完美的安全性(即访问者必须知晓密码才可以访问目录,并且绝无“后门”可走)。

The .htaccess File 密码保护的.htaccess文件

利用.htaccess将一个目录加上密码保护分两个步骤。第一步是在你的.htaccess文档里加上适当的几行代码,再将.htaccess文档放进你要保护的目录下:

AuthName “Section Name”
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user

你可能需要根据你的网站情况修改一下上述内容中的一些部分,如用被保护部分的名字”Members Area”,替换掉“Section Name”。

/full/parth/to/.htpasswd则应该替换为指向.htpasswd文件(后面详述该文档)的完整服务器路径。如果你不知道你网站空间的完整路径,请询问一下你的系统管理员。

密码保护的.htpasswd文件

目录的密码保护比.htaccess的其他功能要麻烦些,因为你必须同时创建一个包含用户名和密码的文档,用于访问你的网站,相关信息(默认)位于一个名为.htpasswd的文档里。像.htaccess一样,.htpasswd也是一个没有文件名且具有8位扩展名的文档,可以放置在你网站里的任何地方(此时密码应加密),但建议你将其保存在网站Web根目录外,这样通过网络就无法访问到它了。

输入用户名和密码

创建好.htpasswd文档后(可以通过文字编辑器创建),下一步是输入用于访问网站的用户名和密码,应为:

username:password

“password”的位置应该是加密过的密码。你可以通过几种方法来得到加密过的密码:一是使用一个网上提供的permade脚本或自己写一个;另一个很不错的username/password加密服务是通过KxS网站,这里允许你输入用户名及密码,然后生成正确格式的密码。

对于多用户,你只需要在.htpasswd文档中新增同样格式的一行即可。另外还有一些免费的脚本程序可以方便地管理.htpasswd文档,可以自动新增/移除用户等。

访问网站

当你试图访问被.htaccess密码保护的目录时,你的浏览器会弹出标准的username/password对话窗口。如果你不喜欢这种方式,有些脚本程序可以允许你在页面内嵌入username/password输入框来进行认证,你也可以在浏览器的URL框内以以下方式输入用户名和密码(未加密的):

http://username:password@www.website.com/directory/

小结

.htaccess是一个站点管理员可以应用的强大工具,有更多的变化以适应不同的用途,可以节约时间及提高网站的安全性。

.htaccess的特别说明
 

启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用
如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:

AccessFileName .config

一般情况下,不应该使用.htaccess文件,除非你对主配置文件没有访问权限。有一种很常见的误解,认为用户认证只能通过.htaccess文件实现,其实并不是这样,把用户认证写在主配置文件中是完全可行的,而且是一种很好的方法。.htaccess文件应该被用在内容提供者需要针对特定目录改变服务器的配置而又没有root权限的情况下。如果服务器管理员不愿意频繁修改配置,则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在同一个机器上运行了多个用户站点,而又希望用户可以自己改变配置的情况下。虽然如此,一般都应该尽可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件的<Directory>段中,而且更高效。避免使用.htaccess文件有两个主要原因,即性能和安全。

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Ext2 v.s. Ext3 v.s. Ext4 性能比拼

Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:

1. 与 Ext3 兼容。执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。

2. 更大的文件系统和更大的文件。较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。

3. 无限数量的子目录。Ext3 目前只支持 32,000 个子目录,而 Ext4 支持无限数量的子目录。

4. Extents。Ext3 采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在 Ext3 中要建立 25,600 个数据块(每个数据块大小为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的 25,600 个数据块中”,提高了不少效率。

5. 多块分配。当写入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用 25,600 次数据块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc) 支持一次调用分配多个数据块。

6. 延迟分配。Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。

7. 快速 fsck。以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。

8. 日志校验。日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4 的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。

9. “无日志”(No Journaling)模式。日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。

10. 在线碎片整理。尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。

11. inode 相关特性。Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展属性(如纳秒时间戳或 inode 版本),默认 inode 大小为 256 字节。Ext4 还支持快速扩展属性(fast extended attributes)和 inode 保留(inodes reservation)。

12. 持久预分配(Persistent preallocation)。P2P 软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。Ext4 在文件系统层面实现了持久预分配并提供相应的 API(libc 中的 posix_fallocate()),比应用软件自己实现更有效率。

13. 默认启用 barrier。磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit 记录,若 commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当 barrier 之前的数据全部写入磁盘,才能写 barrier 之后的数据。(可通过 “mount -o barrier=0″ 命令禁用该特性。)

Ext4 随 Linux kernel 2.6.28 正式发布已有数周,一直苦于找不到测试用的磁盘,正巧年前 Intel 送来几块 SSD 测试样品,这两天就顺带把 SSD 也测了。测试所使用的 Linux 内核版本为 2.6.28.2,测试工具为 IOzone 3.318。

IOzone 测试命令为:

time /opt/iozone/bin/iozone -a -s 4G -q 256 -y 4 >|/root/ext4-iozone-stdout.txt

上述命令的说明如下:

Auto Mode
File size set to 4194304 KB
Using Maximum Record Size 256 KB
Using Minimum Record Size 4 KB
Command line used: /opt/iozone/bin/iozone -a -s 4G -q 256 -y 4
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.

  • Share/Bookmark

Tags: , , , , , , , , , , ,

了解 linux 磁盘结构及分区

 

1991年,芬兰的一名学生linus torvalds出于兴趣,以他的灵感和才思,开发了当今最为流行的免费操作系统linux。linux也正以它的优越性赢得越来越多的用户的喜爱,同时也被微软视为最可怕的竞争对手之一。全世界使用linux操作系统的人正以惊人的速度增涨着,同时也产生了linux诸多不同的版本,因为它实在是太可爱了,太好了。但这里也不能说它的好了,要不就有骗稿费之疑了。但它有个最突出的特点是它的源代码全都是公开的,这样每个用户或机构就可以根据自己的需要来修改linux,甚至你也可以开发出属于你自己的操作系统。linux也给我国计算机的发展带来了机遇,借助linux的开放性我们可以开发出全中文的操作系统,我们也将不需“洋油”来过日子了。

由于linux是个自由软件,所以在使用起来不及windows这个商业软件来得上手,但好的是,linux正不断改正这一缺点,现在普通用户也可以轻松地掌握它了。本文就用户在装linux的过程中,所遇到的linux分区问题来详细地介绍一下,这里以red hat linux7.1为例。

 

首先我们要对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区(primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(logical partion),况且逻辑分区没有数量上限制。

 

对习惯于使用dos或windows的用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解。但对这些用户初上手red hat linux吗,可就有点恼人了。因为对red hat linux用户来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。red hat linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。下面我们先来看看red hat linux的驱动器是如何标识的。

 

对于ide硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个ide硬盘上的第三个主分区或扩展分区,hdb2表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标识为“sdx~”,scsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和ide硬盘的表示方法一样,不在多说。

 

我们从上面可以看到,red hat linux的分区是不同于其它操作系统分区的,它的分区格式只有ext2和swap两种,ext2用于存放系统文件,swap则作为red hat linux的交换分区。那么现在我们就可以知道red hat linux至少需要两个专门的分区(linux native和linux swap)况且不能将red hat linux安装在dos/windows分区。一般来说我们将red hat linux安装一个或多个类型为“linux native”的硬盘分区,但是在red hat linux的每一个分区都必须要指定一个“mount point”(载入点),告诉red hat linux在启动时,这个目录要给哪个目录使用。对“swap”分区来说,一般定义一个且它不必要定义载入点。下面我们先对“linux native”和“linux swap”有个初步的了解。

 

*swap分区是linux暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为swap使用的分区不用指定“mout point”(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的两倍,如果你是16mb的内存,那么swap分区的大小是32mb左右,以此类推。但必须还要注意一点,swap分区不要大于128mb,如果你是64mb的内存,那么swap分区最大也只能被定为127mb,再大就是浪费空间了,因为系统不需要太大的交换分区。以此类推,如果你是128mb或更大的内存,swap分区也只能最大被定为127mb。况且你还必须注意的是如果你是128mb(或更大)的内存,你必须提醒系统你有这么大的内存,要不然它可不认你这个128mb内存。具体如下:当顺利启动了安装过程后,会显示一个boot:提示符,这时你只要键入boot:linux mem=128mb就可以了。另外你也可以创建和使用一个以上的交换分区,最多16个。

 

*linux native是存放系统文件的地方,它只能用ext2的分区类型,上面已说过。对windows用户来说,操作系统必须装在同一分区里,它是商业软件吗!所以你没有选择的余地!对red hat linux来说,你有了较大的选择余地,你可以把系统文件分几个区来装(必须要说明载入点),也可以就装在同一个分区中(载入点是“/”)。下面我们看看可以创建哪些分区(仅列常用几种)。

 

/boot分区,它包含了操作系统的内核和在启动系统过程中所要用到的文件,建这个分区是有必要的,因为目前大多数的pc机要受到bios的限制,况且如果有了一个单独的/boot启动分区,即使主要的根分区出现了问题,计算机依然能够启动。这个分区的大小约在50mb—100mb之间。但是如果想用lilo启动red hat linux系统的话,含有/boot的分区必须完全在柱面1023以下。又由于8gb后的数据lilo不能读取,所以red hat linux要安装在8gb的区域以内。

 

/usr分区,是red hat linux系统存放软件的地方,如有可能应将最大空间分给它。

 

/home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。如果是多用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普通用户访问哪些文件等。其实单用户也有建立这个分区的必要,因为没这个分区的话,那么你只能以根用户的身份登陆系统,这样做是危险的,因为根用户对系统有绝对的使用权,可一旦你对系统进行了误操作,麻烦也就来了。

 

/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到操作系统的主分区。

 

/tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。这样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操作,所以它通常会比其它的部分更快地发生问题。

 

/bin分区,存放标准系统实用程序。

 

/dev分区,存放设备文件。

 

/opt分区,存放可选的安装的软件。

 

/sbin分区,存放标准系统管理文件。

 

上面介绍了几个常用的分区,一般来说我们需要一个swap分区,一个/boot分区,一个/usr分区,一个/home 分区,一个/var/log分区。当然这没有什么规定,完全是依照你个人来定的。但记住至少要有两个分区,一个swap分区,一个/分区。下面我们来看看怎样分区。

 

用户可以使用两种分区工具:

 

1.disk druid:它是red hat linux提供的硬盘管理工具,它最初是随red hatlinux5一起发售的,它可以根据用户的要求创建和删除硬盘分区,另外还可以为每个分区管理载入点,这是一个不错的分区软件,建议读者使用。本文也将以此软件详细地介绍red hat linux分区。

 

2.fdisk:它是传统的linux硬盘分区工具,比disk druid更强大,使用更加灵活。但是fdisk要求用户对硬盘分区有一定经验,并能够适应且读懂简单的文本界面。如果你是第一次对一个硬盘驱动器进行分区操作的话,最好还是避免fdisk这样的程序,它虽然强大但用起来的感觉不是太好的。

 

附注:此外red hat linux还提供了一种叫fips的分区软件,但这种分区软件具有一定的危险性,不宜提倡操作。虽然有许多人已经成功地用fips对他们的硬盘进行了分区,但这不能保证fips将在你的系统中也能正常地运行。况且red hat linux也不提供对fips的支持,劝你对这种分区软件还是慎用为好。

 

如果你希望将red hat linux安装在已经含有其他操作系统的盘上,也就是多重操作系统,这个情况就比较复杂了,因为一个错误就可以毁掉你辛辛苦苦保存的数据,让你欲哭无泪。如果你想让red hat linux与os/2共存,那你必须使用os/2的分区软件来创建硬盘分区,要不然os/2将不能识别硬盘分区。另外你也可以用其它的一些分区软件来分区,下面列出了一些常见的这种分区工具软件:

 

*partition commander软件,从www.v-com.com处下载。

 

*partition it软件,从www.quarterdeck..com处下载。

 

*partition magic软件,从www.powerquest.com处下载。

 

注意:硬盘分区是一个非常危险的步骤,你要想安全地在不丢失数据的情况下改变磁盘的分区有点不太现实,所以我建议大家对重要得数据进行备份,装多操作系统更要如此,以备不测。当然或许你是刚装系统或就准备重装,那也就是另外一回事了,但是大家对待分区一定要慎重又慎重,切记。

 

下面我们详细地了解一下red hat linux7.1自带的disk druid分区软件所包含的一些信息。

 

1.current disk partitions区域(这里每一行代表了一个硬盘分区)

 

mount point 指出red hat linux启动并运行以后该分区的加载点,交换空间(linux swap)是不需要加载点的。

 

device 硬盘分区的设备名

 

requeted 给这个分区定义时申请的最小空间

 

actual 分配给该分区的实际空间

 

type 说明了该分区的类型

 

2.drive summaries区域(这里每一行代表一个硬盘)

 

drive 显示硬盘的设备名

 

geom[c/h/s] 显示硬盘的物理信息,c(柱面),h(磁头),s(扇区)

 

total 显示硬盘的可用空间

 

used 显示硬盘中已分配的空间

 

free 显示硬盘中末分配的空间

 

bar graph 该条图形化地显示当前硬盘使用的百分比,#号越少,空闲空间越多

 

3.disk druid按钮

 

add 增加一个分区

 

edit 修改在current disk partitons中被选中的分区的属性,选中该按钮将出现一个对话框来进行修改,但只能修改该分区的载入点。如果你需要修改其它内容,请先删除该分区,而后再重新建这分区。

 

delete 删除一个在current disk partitons中被选中的分区

 

ok 确认

 

back 不作保存,返回

 

4.如果你想增加一个分区,请点击“add”按钮,这时会出现一对话框,内容说明如下:

 

mount point 分区载入点,说明分区

 

size 分区的大小

 

grow to fill disk 表明这个分区将添满一个硬盘的整个未分配空间。这时,这个分区的容量可以随着其它分区的修改增加或减少

 

type 选择分区类型

 

allowable drives 选择这个分区将创建在哪个硬盘上

 

好了,通过上面的了解想必大家都能容易地创建出适合自己的分区。下一步我们所要做的工作就是要格式化所建的分区,选择你要格式化的分区并按space键,如果想在格式化分区时检查有无坏块,选择“check for bad blocks during format”,点击ok并按space键。如果分区中已无你要所保存的数据,最好都格式化一下。

  • Share/Bookmark

Tags: , , , , , , , , , , ,