0%

There is a rumor that GeoIP is not supported by Powweb. This is
completely false. It must first be configured prior to use. Now stay
with me so I don’t lose you…

  1. Install your own copy of

awstats in the cgi-bin directory. Once this is working properly, you
may move on to the next step. There is a tutorial for this on the
Powweb site under “Site Statistics” I believe.

  1. Download GeoIP::PurePerl module from Maxmind.com

http://www.maxmind.com/download/geoip/api/pureperl/

1.17 is the latest version as of Sept 1, 2005. This is a tar.gz file so make sure you have WinRAR or another compatible decompressor.

  1. Once

decompressed, create a directory in your cgi-bin called GeoIP (You can
name it anything you like, but for this tutorial it shall be GeoIP).
Move the contents from the decompressed folder to “/cgi-bin/GeoIP/”.
The decompressed folder should be called “Geo-IP-PurePerl-1.xx”. Now
before we configure we need to get the latest database.

  1. Download GeoIP.dat from this address

http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz

Again this is a .gz file and must be decompressed. Once decompressed, move “GeoIP.dat” to “/cgi-bin/GeoIP/”.

  1. OK.. now to configure.

First if you have turned on DNSLookup… turn it
off. In Awstats.conf —> DNSLookup=0 (this may also be a good time
to change your logfile if you desire current stats over stats from
yesterday. Remove the “.0″ after “access”.

LogFile=”/logs/access.0/1/xxxxxx_access_log” ->
LogFile=”/logs/access/1/xxxxxx_access_log”)

  1. Next enable the

GeoIP plugin by removing the # from before the command and add the path
to the GeoIP.dat file. In Awstats.conf —> LoadPlugin=”geoip
GEOIP_STANDARD /www/u/username/cgi-bin/GeoIP/GeoIP.dat” When that’s
complete, save awstats.conf

  1. Now open up the geoip.pm file

(located in awstats/plugins…. thanx Aza) so we may edit it. At the
very top you’ll see two directory entries. They’ll say “Geo/IP.pm” and
Geo/IP/PurePerl.pm”. WE need to modify these to reflect the
installation path. Change them to
“/www/u/username/cgi-bin/GeoIP/lib/Geo/IP.pm” and
“/www/u/username/cgi-bin/GeoIP/lib/Geo/IP/PurePerl.pm” respectively.
Save and close.

  1. Last but not least, open up “PurePerl.pm”

located in “/cgi-bin/GeoIP/lib/Geo/IP”. On lines 79 and 83 you’ll fine
directory listings for “GeoIP.dat”. Change these to
“/www/u/username/cgi-bin/GeoIP/GeoIP.dat”. Save and close.

  1. Everything should be set now.

If it’s working, you’ll see a new column
added to “Hosts” in Awstats named “GeoIP Country”. This will list
countries for all IP addresses, even ones collected before
modification. The “Countries” area will show flags only for IP
addresses collected after the modification. If you have trouble, set
your crontab to execute awstats every minute. This is accomplished be
setting time to * * * * *. Then check your cronlog located in your logs
folder to view errors.

Erik Reedstrom
IT Department
www.BrokeHouse.com

安装 MaxMind GeoIP、GeoIP City Lite 为 awstats 配置 IP 位置国家城市统计信息

http://www.maxmind.com/download/geoip/api/c/
http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.4.tar.gz

http://www.maxmind.com/download/geoip/api/perl/
http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.31.tar.gz

http://www.maxmind.com/app/geolitecity
http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

安装配置全程脚本:

下载

1
2
3
wget http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.4.tar.gz
wget http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.31.tar.gz
wget http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
tar zxf GeoIP-1.4.4.tar.gz
cd GeoIP-1.4.4
./configure
make
make install
cd ..

tar zxf Geo-IP-1.31.tar.gz
cd Geo-IP-1.31
perl Makefile.PL
make
make install
cd ..

gunzip GeoLiteCity.dat.gz
cp -a GeoLiteCity.dat /usr/local/share/GeoIP/

更新动态库路径

1
2
echo /usr/local/lib > /etc/ld.so.conf.d/geoip-i386.conf
ldconfig -v

修改 awstats 配置

1
2
LoadPlugin="geoip GEOIP_STANDARD /usr/local/share/GeoIP/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/share/GeoIP/GeoLiteCity.dat"

下次 update 数据和 build pages 就可以看到
国家或地区 (前 10) 和 主机 (前 10) 中的IP地理位置信息

1
2
awstats/tools/awstats_updateall.pl now
awstats/tools/awstats_buildstaticpages.pl -config=configdomainname -month=$M -lang=cn

GeoIP Country 链接到 #countries
GeoIP City 链接到 awstats.$configdomainname.plugin_geoip_city_maxmind.html

一、简介

MaxMind的GeoIP非常流行的地理信息Web应用包。原先提供的免费版只提供了一个IP=>国家的,但是对于网站的统计来说:精确到城市级

别的才有比较好的分析价值。最近MaxMind提供了一个IP=>城市的简化版本。可以用于AWStats的分析统计。

但是对于中国城市还不是很全,不过还能出来beijing henan这样的东东,大体还能看,呵呵…

二、安装

  1. 安装GeoIP的C API和Perl API
    http://www.maxmind.com/download/geoip/api/c/
    http://www.maxmind.com/download/geoip/api/perl/

    1
    2
    3
    4
    5
    6
    wget http://www.maxmind.com/download/geoip/api/c/GeoIP-1.3.14.tar.gz
    tar zxf GeoIP-1.3.14.tar.gz
    cd GeoIP-1.3.14
    ./configure
    make
    make install
    1
    2
    3
    4
    5
    6
    wget http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.27.tar.gz
    tar zxf Geo-IP-1.27.tar.gz
    cd Geo-IP-1.27
    perl Makefile.PL
    make
    make install
  2. 下载MaxMind’s GeoLiteCity database
    http://www.maxmind.com/app/geolitecity
    http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
    gzip -d GeoLiteCity.dat.gz
    大约25M

  3. 配置awstates
    复制GeoLiteCity.dat到/usr/local/share/GeoIP/下
    然后修改awstats.panzhiqi.conf中的

    1
    LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/share/GeoIP/GeoLiteCity.dat"

等待crontab中的update下次执行的时候就可以看到城市信息了,性能很好。

这是宽带路由器的一个小小弊端。通过对网速的实测证明,在ADSL接入电脑之间安装宽带路由器后,在多台电脑同时在线的情况下,由于路由器在地址解析、路由分发等方面的耽误,实际到达电脑的速度比单机直接连入ADSL线路要稍慢一些。当然我们也可以采用以下办法将这种损耗降至最低,即更改路由器的MTU值。

MTU是Maximum Transmission Unit的缩写,意思是网络上传送的最大数据包,单位是字节。不同的接入方式,MTU值是不一样的,如果值太大就会产生很多数据包碎片,增加丢包率,降低网络速度。我们平常使用的宽带PPPoE连接方式,其MTU值最大为1492,解决的办法就是对其逐步调低,直到网络最正常为止。

那么又如何判定某个MTU值是最适合的呢? 进入DOS环境(开始->所有程序->附件->命令提示符),输入以下命令行:ping -f -l 1492 192.168.1.1
注:其中“192.168.1.1”是网关IP地址(路由器的IP),1492为数据包的长度,参数“-l”是小写的L。如果出现信息:Packet needs to be fragmented but DF set,那就表示MTU值太大了!而如果出现:

Reply from 192.168.1.1: bytes=1492 time<10ms TTL=128

则表示此MTU值是可行的,不过还是建议多试几个找到最佳值。

我从1492试到1472终于找到了最佳的值:1472(这个是我的路由器的最佳的值,可以做参考)! 大家还有什么好的方法可以研究研究!

其他:

MTU设置

MTU,即Maximum Transmission Unit(最大传输单元),此值设定TCP/IP协议传输数据报时的最大传输单元。设置合适的MTU值可以解决“部分网站打不开”、“上网速度慢”等问题,并且可以适当提升上网速度。

设置多大的MTU值取决于你的上网方式,不同的上网方式支持不同的MTU,下面列出了一些上网方式的MTU值:

EtherNet(一般上网方式,默认值):1500
PPPoE/ADSL:1492
Dial Up/Modem:576

问题一:知道了我的上网方式,如何设置MTU值?

  1. 在 『开始』>『运行』中,键入regedit,点确定;
  2. 选择『HKEY_Local_Machine』>『SYSTEM』>『CurrentControlSet』>『Services』>『Tcpip』>『Parameters』>『interface』;
  3. 在 interface 底下可能有很多的选项,你一个一个的去看,会有一个选项与你的网卡的 IP相同,那个就是你要挑选的选项啦!然后同样的在该选项上选择『编辑』>『新建』>『DWORD值』之后,建立一个名为『MTU』的DWORD,然后双击修改,选择十进制,填入合适 MTU 值,确定!大功告成!

问题二:我不知道自己的上网方式,如何确定MTU值呢?

1
ping -f -l 1500 127.0.0.1
1
2
3
4
5
6
7
8
9
C:\WINDOWS>ping -f -l 1500 127.0.0.1
Pinging 127.0.0.1 with 1500 bytes of data:
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

上面的式子中,-l 是 L 的小写(不是 1 喔),1500 是我们要测的 MTU 值,结果出现了 Packet needs to be fragmented but DF set. 这个东西,那表示MTU值太大了,你需要更小的 MTU 值才行!好啦!那假设我们使用 1464 来测试时:

1
2
3
4
5
6
7
8
9
C:\WINDOWS>ping -f -l 1464 127.0.0.1
Pinging 127.0.0.1 with 1464 bytes of data:
Reply from 127.0.0.1: bytes=1464 time=10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms

结果出现了回应了!这表示这一个 MTU 值是可行的!不过,强烈建议找出可行的最大 MTU 值!这样一来,在设定的时候,才可以达到最佳的网速!

找出 MTU 值:利用上面这个方法找到的数值还不是 MTU 喔!由于一些封包上面的问题,上面这个值再加上 28 才是我们所需要的 MTU 值!所以,在上面的例子中,我们所需要的 MTU 值是 1464+28=1492!

一般来讲,设计好本机的MTU值,可以解决部分网站打不开的情况,但是如果你的共享主机或路由器的MTU设置有问题,有时问题仍然存或,或者出现网速过慢的情况。合理的设置路由器与本机的MTU值,就可以完全解决上述问题,使上网速度达到最大化。

高强度爬虫程序

百度爬虫

Baiduspider+(+http://www.baidu.com/search/spider.htm)

高强度爬虫,有时会从多个IP地址启动多个爬虫程序!
由于算法问题,百度爬虫对相同页面会多次发出请求(尤其是首页),令人烦恼。
推广效果好。

雅虎爬虫,分别是雅虎中国和美国总部的爬虫

Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)

高强度爬虫,有时会从多个IP地址启动多个爬虫程序!
比较规范的爬虫,看参考其网址,设定爬虫访问间隔。(但需要考虑同时出现多个yahoo爬虫)
推广效果尚可。

新浪爱问爬虫

iaskspider/2.0(+http://iask.com/help/help_index.html)
Mozilla/5.0 (compatible; iaskspider/1.0; MSIE 6.0)

算法差,大量扫描无实际意义的页面,对动态链接网站负担很大
推广效果差。

搜狗爬虫

Sogou web spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07)
Sogou Push Spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07)

【早期用法:“sogou spider”】

算法差,大量扫描无实际意义的页面,对动态链接网站负担很大
推广效果差。

中等强度爬虫程序

Google爬虫

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

算法优秀,多为访问有实际内容的页面
推广效果好。

Google AdSense广告内容匹配爬虫

Mediapartners-Google/2.1

对网页收录有一定辅助作用。

网易爬虫

Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/ )
【早期采用“ OutfoxBot/0.5 (for internet experiments; http://”; outfoxbot@gmail.com)】

其搜索算法需要改进
推广效果差。

Alexa排名爬虫

ia_archiver

用于检测网站是否做了alexa排名的作弊。

Twiceler

Mozilla/5.0 (Twiceler-0.9 http://www.cuill.com/twiceler/robot.html)

美国斯坦福大学的一个学生研究项目。

其他搜索引擎的爬虫

msnbot/1.0 (+http://search.msn.com/msnbot.htm)

MSN爬虫
特点未知

msnbot-media/1.0 (+http://search.msn.com/msnbot.htm)

(欢迎补充资料)
特点未知

Mozilla/4.0(compatible; MSIE 5.0; Windows 98; DigExt)

DigExt并非一个独立的爬虫程序,而是IE5的“允许脱机阅读”模式标记。

Mozilla/3.0 (compatible; Indy Library)

Indy Library本来是个开源程序库,但后来被spam bots冒用。
抓取强度:各服务器上不一定
推广效果:无

P.Arthur 1.1

据称为北大天网的搜索引擎爬虫程序

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; QihooBot 1.0)

名字上看来是Qihoo的
特点未知

Gigabot
Gigabot/2.0 (http://www.gigablast.com/spider.html)

Gigabot搜索引擎爬虫。已被google收购?(欢迎补充资料)

eApolloBot/1.0 (eApollo search engine robot; http://www.eapollo.com“; eapollo at global-opto dot com)

lanshanbot/1.0

据说是中搜爬虫。(欢迎补充资料)

iearthworm/1.0, iearthworm@yahoo.com.cn

专抓图片的爬虫,据说来源IP是3721或阿里巴巴。

TMCrawler

Mozilla/5.0 (compatible; heritrix/1.10.2 +http://i.stanford.edu/)

开源的网络爬虫,一个数字图书馆项目。

WebNews http.pl

RSS扫描器

foxmail6

rss.asp Mozilla/6.0 (MSIE 6.0; Windows NT 5.1;Foxmail/MILOWU)

这是用foxmail6.0订阅了你的rss

google的rss搜索扫描器

rss.asp Feedfetcher-Google; (+http://www.google.com/feedfetcher.html)

google的rss搜索扫描器

feedsky

rss.asp feedsky_spider http://www.feedsky.com

一款rss扫描器,有兴趣者进入此网站添加您的rss

Powered by ScribeFire.

出于种种原因,微软在 MSN 中也捆绑了自己的浏览器 IE,也就是说无论在 Windows 中是否将 Firefox 指定为默认浏览器,在 MSN 中永远只会调用 IE 打开链接,比如 hotmail 邮箱,MSN space 等等。

在这里要给大家介绍的是简单的安装第三方 MSN 插件的方法来解决这个难题,不需要手动更改注册表和 dll 文件,推荐 Windows 下的用户使用:

  1. 先在 Windows 中的 “设定程序访问和默认值” 中将 FF 设为默认。
  2. 使用 MSN Messenger 7.0 以下,包括 7.0 的用户,请先下载 Messenger Plus! Live 安装。使用 Windows Live Messenger 8 以上版本的同学可以跳过这一步,直接看下面。
  3. 安装 stuffplug3 插件。
  4. 安装好之后登录自己的 MSN,在工具栏面板上的一大串小图标中选中 stuffplug3 的白色图标,在下拉菜单中选中 “options“。就像下面这样:
  5. 在出来的窗口中点击 “General”,然后将 “Open all URLs in default browser” 前面打勾。就像下面这样:
  6. 这时大家试着从 MSN 中点击邮箱或者 Space 的链接,应该已经可以从 FF 中打开了。

Powered by ScribeFire.

全球领先的安全厂商卡巴斯基今天宣布发起“暴雪无情,卡巴有情”——卡巴斯基赈灾总动员,反病毒免费送一年的大规模赈灾活动。自2008年1月29日起,通过互联网向广大用户免费赠送卡巴斯基反病毒软件KAV7.0一年版激活码。现在,消费者只需注册成为卡巴斯基官方技术支持论坛——卡巴一族会员,即可免费获取卡巴斯基反病毒软件KAV 7.0一年版激活码卡巴斯基亚太区董事总经理张立申先生表示,这一活动旨在响应全社会的赈灾行动,满足受近期灾害性雨雪天气影响的用户的急切需求,保证所有消费者都能度过一个安全无毒的祥和春节。

1月中旬以来,我国中东部地区出现了持续的大范围灾害性雨雪天气,给交通运输、能源通信和人民生活生产带来了极其严重的影响,这一大范围的灾害性天气也严重影响了卡巴斯基产品的运输,大量产品滞留在运输途中,使得许多受灾地区的用户无法及时获取卡巴斯基产品。春节期间往往是病毒高发期,没有受到反病毒软件保护的电脑存在极大的安全隐患。为满足广大用户的急切需求,卡巴斯基决定利用互联网迅速将卡巴斯基产品送到消费者手中,让广大消费者能够过一个安全无毒的祥和春节。据卡巴斯基相关人士表示,卡巴斯基将根据灾情发展的具体情况决定此次大规模赈灾活动的持续时间,以保证所有消费者能够迅速和便捷地获取卡巴斯基产品。

此次赈灾活动是卡巴斯基继2007年地震造成海底光缆断裂推出应急服务并为广大网友提供免费KEY之后的又一次大规模动员,其及时响应的效率和大规模投入的决心都体现了卡巴斯基“一切为了用户安全”的核心理念。正如卡巴斯基亚太区董事总经理张立申先生所说,“想消费者所想,为所有消费者提供安全是卡巴斯基矢志追求的目标,灾情就是命令,在消费者需要的时候,我们愿意分享我们的技术和资源,为用户营造一个安全祥和年。”

注: 此次活动赠送的卡巴斯基激活码请在14天内激活!

此活动开始之后卡巴一族<<赠送KAV和反黑客激活码活动火热进行中……>>活动将会停止!

判断一个字符串中是否含有另一字符串,php有很多方法

常见函数 strstr($str, "abc");

正则匹配 preg_match("/(abc)?/is", $str);

但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了

如果不用正则 !strstr($str, "abc"); 就可以解决问题了

但是用正则呢,就只有这样了, "/^((?!abc).)*$/is"

1
2
3
4
5
6
7
8
9
<?php  
$str = "dfadfadf765577abc55fd";
$pattern_url = "/^((?!abc).)*$/is";
if (preg_match($pattern_url, $str)){
echo "不含有abc!";
}else{
echo "含有abc!";
}
?>

结果为:false,含有abc!
$str = "2b3c4d5c";
注意:[^(abc)] 这个语法是逐个检查$str中的字符是否不在 a b c中,
preg_match("/[^(abc)]/s", $str, $arr);
其中字符 2 就不在 a b c 中,所以$arr返回值为2;

同时匹配,包含字符串 “abc”,而且不包含字符串 “xyz”
“/(abc)[^((?!xyz).)*$]/s”

Linux改变文件或目录的访问权限命令

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件 作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的 任何组合。

有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:

1
2
$ ls -l sobsrc. tgz
-rw-r–r– 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz

横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
例如:

1
2
-     rw-   r–   r–
普通文件 文件主 组用户 其他用户

是文件sobsrc.tgz 的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
下面分别对这些命令加以介绍。

Read more »

随着数据的增多,数据的备份显得日益重要,下面是mysql常用的数据导入导出命令。

  1. 导出整个数据库

格式:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

Read more »