月度归档 2014年9月28日

通过清心醉

命令导出MYSQL数据库

以WINDOWS为例:

通过CMD进入mysql/bin目录

执行:

mysqldump -u root -p cin_sql > cin_sql_bak.sql

#输入MYSQL密码

接着在MYSQL/BIN目录下会有cin_sql_bak.sql的文件。

接着是LINUX的操作方法其实和WINDOWS一样

因为大部分的都是使用yum 安装apache+mysql+php

所以直接执行mysql指令即可

yum安装的话,好像会增加在系统变量,可以识别mysql

作者尝试使用LANP快速搭配的环境,就无法使用了.

然后执行相同的命令即可。

用命令导出的好处和命令导入比PYPMYADMIN好的就是,因为PHPMYADMIN是后台,导入导出大的数据的时候,可以出现延时等情况,导出的数据出现错误的可能性教高。

通过清心醉

导出MYSQL数据库(通过PHPMYADMIN)

一般网站管理员为了方便对数据库进行管理,都会安装pypMyadmin

进入phpmyadmin后台,选择数据裤,点导出

导出MYSQL_1

 

 

然后点执行(一般不用对数据库进行特别修改的话,直接执行是最好的。)

导出MYSQL_2

 

接着就会自动下载cin_sql.sql数据文件。

 

使用phpmyadmin的好处是无需通过SSH连接LINUX服务器或者3389连接WINDOWS系统。直接通过另类后台对数据库进行操作过程。

 

通过清心醉

xampp,wamp及自搭配环境导入大型SQL数据

最近因网站的数据量变大,又想对站点上的插件等进行修改。

由于作者还玩游戏,所以使用XP的系统,因此导入大型SQL的数据就有问题了。

结合上一节文章,使用命令来导入吧。

以XAMPP为例:

首先,启动XAMPP。(其实只要启动MYSQL就可以了)

XAMPP1

然后创建个数据库

XAMPP2

 

命令其实和LINUX差不多了

具体看图:

XAMPP导入MYSQL

运行CMD命令:cmd

进入XAMPP的盘符(如E盘)

E:

进入mysql/bin目录

cd /xampp/mysql/bin

执行MYSQL语句:

mysql -u root -p cin_sql

#这时候输入MYSQL密码

接着输入导入的数据文件目录

source E:/xampp/cin_sql.sql

然后就等着恢复吧。

(相同的数据,LINUX下2分钟内完毕,WINDOWS系统4分钟了还没执行完毕。)

部分系统自带的备份,会因为字符等问题等,导致sql.zip格式出现错误,因此使用命令导入.sql是比较好的办法。

注意下恢复的时候会不会出现ERROR:的错误警告。

导入MYSQL

通过清心醉

phpmyadmin导入百M以上的SQL

以作者的站点为例,数据库已经超过百兆了,导入的时候要么超过限制,要么超时。以下方法是针对限制及超时的处理方式:

超过限制:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 133648 bytes)

修改php.ini配置文件里内存的大小,

将memory_limit = 128M;将128MB改512或者更大,建议参考下内存的。

 

超过限制:

phpmyadmin导入 “ 脚本超时,如果你要完成导入,请重新提交相同的文件,导入将会继续进行”

一般来说,选择了部分导入的,都可以进行再次导入未导入的数据。

也可以使用:SSH连接服务器执行

mysql -u 用户名 -p 数据库名

输入对应的密码

mysql>source /mysqldate.sql   ( SQL的路径)

 

 

当然,还有对数据库进行切割然后分多次进行导入的插件,直接网上可以找到,这就不写了。

 

通过清心醉

C++小试题一

一个两人麻将游戏,有赢局、输局、胜算率。

一般都是赢了赢局+1,输了熟局+1,胜算率=赢局/(总局数)

现在修改为游戏开始输局+1,游戏结束后赢和输的各+1。

#include “iostream.h”
int main()
{
float win,lost; //赢,输
float sl; //胜率
cout<<“请输入赢局:”;
cin>>win;
cout<<“请输入输局”;
cin>>lost;
cout<<endl<<endl;
cout<<“当前赢局:”<<win<<endl;
cout<<“当前输局:”<<lost<<endl;
sl=(win/(win+lost))*100;
cout<<“当前胜率:”<<sl<<endl;sl=0;
/*
重新对lost数据进行计算
(templost-win)因为win+1时,lost+1;
至于/2,是因为lost+1又开始的时候lost又自动+1
*/
lost=(lost-win)/2;
cout<<endl<<endl;
cout<<“等于以前赢局:”<<win<<endl;
cout<<“等于以前输局:”<<lost<<endl;
sl=(win/(win+lost))*100;
cout<<“等于以前胜率:”<<sl<<endl;
}

 

通过清心醉

冒险岛游戏的末日是否已经接近了?

因为时间太长,不知道这游戏的具体经历的时间。

04年的时候开始玩的冒险岛,那时候是公测开始的时候。

一堆人在射手打蜗牛水灵什么的,刷点小游戏币就为买点蓝啊什么的。

当然也包括通宵为了刷个+10以上的锅盖,这法师极品应该不少骨灰玩家都知道吧?

飞天外挂不知道还有没人知道呢?轻轻一跳半空慢慢甩的那种,那时候,冰雷是主流的群攻职业,刷钱最多的应该是属于僵尸猴那里了。更有土豪神器,霸王剑、魔灵之翼。

大雪人那,一堆堆的火法和剑客,在那刷霸王剑;狼人那,一堆冰雷在那刷魔灵之翼。

那时候,打到一件如此装备,就算不会点钱没钱点卷,你带上了,就是土豪的象征,包括一种叫水仙耳环的玩意。

05年的时候,三转出来了,龙骑的枪连击独揽天下,从此冒险变成了龙骑岛。

再过没多久,扎昆的诞生。具体的诞生时间不太清楚了。太久了,而且以前为了做这个任务,跳个扎2就是个很大的问题,因为那时候外挂已经开始封号了。

同时玩具城的出现,大红船开始有通宵的刷怪队伍了。

作者的主号,卡着键盘挂挂花,熬啊熬的熬到了114级,扎昆任务也顺利通过。

从此也就踏上了虐扎以及被扎虐的不归路。

时间的煎熬,认识了一堆的战友:小楼春雨,诺言,傻鱼,开平人,豆豆ff,传说,随风的汉,秀气,龙骑混混,小子,龙骑天使等一堆,幸运的还认识一个都是梅州地区的,现在还是好哥们了呢。卢小子的射手0狼。

第一次打扎头,那时候应该是06年年底的了,历史7个小时(晚上12点开始打到早上7点半)。24个人挂到只有我和混混还有诺言三个人。那时候,大家也都体会过了打到扎头的那种幸运,为了一个扎头的拼搏。后期出了黑暗龙王,也和朋友们去开挂拉过黑龙,也死挂过冰人马刷冰枪,可惜都没有,结果一对人卡门打扎给我拿了把天然104的,那时候一个叫南方法神的龙骑立刻交易给10E说买,那时候,10几E可以买一个属性12,7G的浪人披风了。可惜没要,送给了一朋友黑煞飚影,结果他龙骑不玩了,他7G披风和其他战士装也给我了,我也练了一个龙骑,因为那时候龙骑毕竟是火力啊。

以上的,其实基本上都应该说只是回忆,那时候,这游戏才叫游戏。

直到“暗影双刀”职业的出现,盛大就开始了无耻的圈钱。

盛大当时的说法是:“第一个会停止创建的职业”,你妹的真搞笑。你应该具体的说下几个版本会被停止创建。

轻信了盛大的,弄了一个双刀,那时候外挂其实又开始泛滥,记得没错应该是叫奔奔的收费挂。

一个月的时间(09年10月开始的),双刀千辛万苦的挂到了175级,中间曾经封过6次3天(18天被封,挂机和玩最多10天),结果给盛大永久封停了。

都是使用挂的后果,用的起挂就负担的起这后果。

因为这时候魔方已经出了,坑了1000多洗魔方,更为了开把永恒断首刃花了几百玩龙珠这种抽奖活动。点装啊技能书啊什么的前后花3000多,打了个水漂。

盛大,其实你要么承认挂的存在,要么完全封杀。

法律观点上来说,你没有权利永久封停。如果针对还有封号的,可以参考下文:

http://www.qingxinzui.com/?p=269

双刀砸了钱就这么没了,没心再玩过,玩过个英雄,认识了一个叫妞妞的小徒弟。可没玩多久,就暂停了冒险游戏。因为什么都要潜能都要洗,别又来个双刀的结果。

久了,2013年4月左右吧,无聊上游戏,发现双刀可以上了,被封了3年多,那时候因为不懂电话投诉的关系。一直死挂机到现在的243级。

这时候的外挂存活率,比以前更高了,甚至可以说基本不封了。

可能因为盛大感觉挂太多了,东西会不平衡吧,结果把很多福利都放转蛋机啊、品克缤敲敲乐啊、页面抽奖之类的。

盛大,你他妈的是想钱想疯狂了吗?

就女皇武器来说,女皇一个星期二才打2次,因为夜光的泛滥和变态,暴率基本为1%都不到。本来就是盛大代理商的无能,却以剥削玩家的福利来做抵御外挂带来的一切泛滥问题。

这一个版本(V119)的更新,女皇这些暴好装备的BOSS血量大翻,玩家们,不停的洗魔方吧,土豪的话就不在话下了,平民玩家,就算你满队友,全部靠游戏里弄的装备(不花钱),进去了也别想打的完,开了外挂,也未必能过的去。

以装备来说吧,140的是没用了,就150的来说吧,你全部放品克缤敲敲乐,玩家要有的话只能花钱自己开或者淘宝买。为了一个装备就花了近千。然后又要承受洗潜能的挑战,以前200随便洗一个S,现在?B级-S级 300你都未必能拿下,更别天真的想着150的洗上SS级。

装备的普及到了盛大代理商,就变成了赚钱的利器,盛大,你赚了吗?

装备是最基本的东西,卷那些,你放转蛋什么的,也是你的一个策略,可是玩家连最基本的装备都没有,还玩你妹的?如果你把装备普及率弄高一点,人人都有150武器之类的,虽然满队员也未必也打的过BOSS,但不足之中,大家就会适当的消费洗洗武器潜能,小强化下装备。包括购买和抽点100%的卷来强化玩家自身的攻击能力来确保可以战胜BOSS。就以作者而言,150的武器想了很久,一把主刀卖到1000元,我就算买了,然后又要上潜能,洗潜能,上宝珠,强化什么的,没3000左右能下的来吗?而且就算弄了又怎么样,队友除非全部土豪,你打BOSS轻轻松松,你要普通消费玩家你也攀不上土豪,要都这么弄,开个挂一样单挑,甚至花更多点钱的无挂一样单了,消费嘛。

可弄了,你找到的是普通的队友,装备垃圾,打你妈??如果装备普及的差不多,大家都是小额度的消费下,游戏的乐趣就会展现出来,回到以前打扎昆的时代。

现在全部都是消费来获取。盛大,你这代理商是把游戏带向末日的毁灭。

 

通过清心醉

SEO优化服务器之GZIP压缩及缓存

httpd.conf中打开deflate_Module和headers_Module以及cache-expire模块

如下两句前面的#去掉:

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

LoadModule expires_module modules/mod_expires.so

#加入代码配置需要压缩的文件类型

<IfModule mod_deflate.c>
<Location />
#Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems…
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.59
# the above regex won’t work. You can use the following
# workaround to get the desired effect:
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html force-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don’t compress images and other
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilter DEFLATE js css

# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary

#DeflateFilterNote ratio ratio_info
#LogFormat ‘”%v %h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” (%{ratio}n)’ deflate
#CustomLog logs/deflate_log deflate
</Location>

#开启cache-expire

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
</IfModule>

 

重启apache即可.

#JPG文件不能压缩,因为会出现有损,导致图片无法打开.

通过清心醉

SEO-索引

当页面被爬虫抓取之后,搜索引擎的数据库里对数据进行对比,过滤掉垃圾页面之后,会创建一个当前网站的索引。

当用户输入关键字后,排名程序事实对所有网站进行分析相关性,这数值大的无法预算,想在几秒内的时间内返回当前关键字的排名结果,是不太可能的。因此必须经过索引的预先处理,为排名程序做好准备工作。

搜索引擎对页面的分词取决于词库的规模以及其准确性和分词算法的好坏来计算,并非取决于页面的本身,唯一能做的就是在页面上用某种方式来提示搜索引擎,某几个字应该被当做一个词来处理。比如用<h1>的标签内,可以对分词进行加粗,修改不同的颜色等等。这些加粗及改色过的分词会用于关键字的排名结果内。

搜索引擎还会过滤如“的”、“得”的助词以及“哈”、“啊”之类的感叹词,包括部分的副词及介词,英文常见的如“the, a, an, to, of”等,所以在做关键字的排名的时候,尽量少用到该类语法。

上文说了,搜索引擎会过滤重复内容,假如在网站上搜索出的关键字,有两个以上的结果都是来自不同的站点,但文章内容却相同,这就剥削掉了用户体验。搜索引擎只希望返回同样文章部分站点的文章,所以会再一次对索引里的数据进行识别重复及删除工作。对于该方法是对全部相同页面的特征关键词进行计算,从中选择页面中包含有最有代表性的一部分关键词,当然对百度应该还会对站点进行权重等公式计算,GOOGLE应该会对站点进行PR值等公式计算。

通过清心醉

SEO-搜索引擎的数据的过滤。

爬虫抓取到的页面,会保存到搜索引擎的数据库中,记录已经被爬行但还没有抓取和已经抓取的页面。爬虫抓取页面后的HTML中解析出新的链接URL,与数据库中的数据进行对比,如果数据库中没有的页面,就编入索引程序列表。

还有一个就是上文说的,使用sitemap.xml提交给搜索引擎入口。引导爬虫更好的抓取想要被抓取的页面。

数据的保存,如果被抓取未编入索引,那么就是触发了搜索引擎的重复内容检测。爬虫在爬行和抓取的时候,会对页面进行重复内容的检测,如果站点权重低,却有大量转载或者原文抄袭的内容时,很可能终止掉爬虫的爬行,所以要求页面内容最好原创,如果实在写不出来是转载过来的,最好进行一定的修改。

再者就是对不良页面的过滤,如黄色页、病毒页等等,爬虫检测到有这些的内容,一般爬行一会马上再跳出网站而不再爬行。

 

通过清心醉

SEO-如何吸引爬虫蜘蛛

搜索引擎爬虫来爬行了抓取了所有页面,但未必全部会进入索引目录中,从事SEO的人员要想让自己的更多页面被收录,就要想方设法的吸引爬虫来爬行和抓取。虽然爬虫不能爬尽和抓取所有的页面,但我们要做的就是要把我们认为重要的页面尽量让爬种抓取并编入索引。因此我们要认识几点:

一:质量高,资格老的网站会被认为权重比较高,这种网站上的页面被爬行的深度也比较深,当然这种站点内的页面深度大部分会被收录。

二:页面更新的效率影响,因为爬虫每次来爬行都会把页面以HTML保存入数据库,如果爬虫第二次来爬行的时候发现页面于第一次来爬行抓取的时候页面是完全一样的,表示页面没更新,爬虫就不会经常来去抓取。反之相反,如果经常更新,会更好的吸引爬虫频繁的来抓取,页面上中如果有了新的链接,也会更快的被爬虫跟踪及抓取到索引处理。

三:导入链接,无法是内部链接还是外链,都需要有导入链接进入页面,让爬虫知道有页面的存在,质量高的链接可以使页面上的链接更深的被爬行和抓取。

四:要被抓取的页面与首页的距离,一般站点上的权重最高的都是首页,(当然也有部分的是二级目录或者单一页面。)而外链来说,访问的基本也是首页为主,当然可以根据不同的需求指向不同的其他链接,不过如此做法就会导致权重分散,不建议使用。要知道,页面权重越高,被爬虫爬行和抓取的机会就越高,如果是首页进入,因为现在基本的网站模板首页都可以链接到全部URL的或者链接到分类在转到单一页面的URL链接。

如果页面太多,或者部分爬虫无法爬行的,可以建立sitemap.xml文件,提交给搜索引擎的网站地图提交入口,让爬虫更容易的爬行抓取。

通过清心醉

SEO-搜索引擎原理简介

搜索引擎的工作一般分为以下的几个阶段:

第一:爬行:

搜索引擎爬虫会通过跟踪链接爬行站点内的网页;

第二:抓取:

爬行过的站点的HTML代码存入搜索引擎数据中;

第三:索引处理:

索引程序对抓取的页面数据进行提取文字、分词、重复页面、垃圾页面等处理,以供排名使用。

第四:排名显示:

当用户输入了某个关键字后,排名程序使用索引中的数据,计算其相关性等,按照一定格式生成搜索结果的页面。

 

通过清心醉

Linux iptable命令小解

#针对2.4以上的内核版本

-A
APPEND,追加一条规则(放最后)
如:iptables -A INPUT -j ACCEPT
允许所有访问本机 IP 的数据包通过
-I
INSERT,插入一条规则
如:iptables -I INPUT -j DROP
在 filter 表的 INPUT 链里插入一条规则(插入成第 1 条)
-D
DELETE,删除一条规则
iptables -D INPUT 3(按号码匹配)
删除 filter 表 INPUT 链中的第三条规则(不管它的内容是什么)
-R
REPLACE,替换一条规则
如:iptables -R INPUT 9 -j ACCEPT
将原来编号为 9 的规则内容替换为“-j ACCEPT”
-P
POLICY,设置某个链的默认规则
例如:
iptables -P INPUT DROP
设置 filter 表 INPUT 链的默认规则是 DROP
-F
FLUSH,清空规则
例如
iptables -F
清空 filter 表中的所有规则

-p
protocol  比对通讯协议
例如
iptables -A INPUT -p tcp
比对通讯协议类型是否相符

-s
src, source
例如
iptables -I INPUT -s 172.16.0.201 -j DROP
用来比对封包的来源 IP,可以比对单机或网络,比对网络时请用数字来表示屏蔽,例屏蔽:172.16.0.201 IP访问,所有数据都将丢弃
–tcp-flags  比对 TCP
例如
iptables -p tcp –tcp-flags SYN,FIN,ACK SYN
TCP状态旗号包括:SYN(同步)、ACK(应答)、FIN(结束)、RST(重设)、URG(紧急)、PSH(强迫推送)
等均可使用于参数中,除此之外还可以使用关键词 ALL 和 NONE 进行比对
–icmp-type
例如:
iptables -A INPUT -p icmp –icmp-type 8
用来比对 ICMP 的类型编号,可以使用代码或数字编号来进行比对。 案例ICMP类型是:8
-m limit –limit
例如
iptables -A INPUT -m limit –limit 3/sec
用来比对某段时间内封包的平均流量,上面的例子是用来比对每秒平均流量是否超过一次 3 个封包。
配置文件位置:
/etc/sysconfig/iptables

iptables 管理服务命令
开启  service iptables start
关闭  service iptables stop
重起  service iptables restart

通过清心醉

apache mod_evasive防御

mod_evasive是一款防止某一电脑过多的页面刷新的APACHE模块.

当过多的对页面进行刷新时,会判断为恶意攻击,故而拉如黑名单.

确保安装Perl环境,可以使用如下命令来提供Perl支持:

#yum groupinstall “Perl Support”

 

下载:mod_evasive_1.10.1.tar

将该文件包上传到服务器,解压

然后执行:

#/usr/local/apache/bin/apxs -i -a -c mod_evasive20.c

/* 注释:

/usr/local/为你的apache目录

在bin目录里有个apsx文件

由于安装LAMP的方式不同,目录位置不同,自己修改即可

*/

如果提示:

apxs:Error: Command failed with rc=65536

执行:

yum install libtool

如果提示:

mod_evasive20.c: In function ‘access_checker’:
mod_evasive20.c:142: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:146: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:158: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:165: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:180: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:187: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:208: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:212: warning: implicit declaration of function ‘getpid’
mod_evasive20.c:215: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:221: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:222: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:228: error: ‘conn_rec’ has no member named ‘remote_ip’
apxs:Error: Command failed with rc=65536

 

将这几行的remote_ip修改成client_ip

(为了方便不同版本需要修改的,作者修改好了的发上来:mod_evasive20)

然后重新安装.

 

查看httpd.conf文件中已经自动添加了
LoadModule evasive20_module modules/mod_evasive20.so

至此,完成了mod_evasive的安装,重启apache服务后,它就开始工作了,这个时候您如果不作任何别的设置,它也可以使用默认配置为您提供良好的防攻击能力,当然,您也可以自己进行一些参数的定制配置,添加如下参数:

<IfModule mod_evasive20.c>
DOSHashTableSize 3000
DOSPageCount 5
DOSSiteCount 50
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
</IfModule>

简单说明:
DOSHashTableSize 3000 记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值
DOSPageCount 5 同一个页面在同一时间内可以被同一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中设置。
DOSSiteCount 50 同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。
DOSPageInterval 2 设置DOSPageCount中时间长度标准,默认值为1。
DOSSiteInterval 2 设置DOSSiteCount中时间长度标准。
DOSBlockingPeriod 10 被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。