All posts by 龙生

Eclipse快捷键 10个最有用的快捷键

Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。    1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。 2. ctrl+o:快速outline 如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找功能的话,就用ctrl+o吧。它可以列出当前类中的所有方法及属性,你只需输入你想要查询的方法名,点击enter就能够直接跳转至你想去的位置。 3. ctrl+e:快速转换编辑器 这组快捷键将帮助你在打开的编辑器之间浏览。使用ctrl+page down或ctrl+page up可以浏览前后的选项卡,但是在很多文件打开的状态下,ctrl+e会更加有效率。 4. ctrl+2,L:为本地变量赋值 开发过程中,我常常先编写方法,如Calendar.getInstance(),然后通过ctrl+2快捷键将方法的计算结果赋值于一个本地变量之上。 这样我节省了输入类名,变量名以及导入声明的时间。Ctrl+F的效果类似,不过效果是把方法的计算结果赋值于类中的域。     5. alt+shift+r:重命名 重命名属性及方法在几年前还是个很麻烦的事,需要大量使用搜索及替换,以至于代码变得零零散散的。今天的Java IDE提供源码处理功能,Eclipse也是一样。现在,变量和方法的重命名变得十分简单,你会习惯于在每次出现更好替代名称的时候都做一次重命名。要使 用这个功能,将鼠标移动至属性名或方法名上,按下alt+shift+r,输入新名称并点击回车。就此完成。如果你重命名的是类中的一个属性,你可以点击alt+shift+r两次,这会呼叫出源码处理对话框,可以实现get及set方法的自动重命名。     6. alt+shift+l以及alt+shift+m:提取本地变量及方法 源码处理还包括从大块的代码中提取变量和方法的功能。比如,要从一个string创建一个常量,那么就选定文本并按下alt+shift+l即可。如果同 一个string在同一类中的别处出现,它会被自动替换。方法提取也是个非常方便的功能。将大方法分解成较小的、充分定义的方法会极大的减少复杂度,并提 升代码的可测试性。     7. shift+enter及ctrl+shift+enter Shift+enter在当前行之下创建一个空白行,与光标是否在行末无关。Ctrl+shift+enter则在当前行之前插入空白行。     8. Alt+方向键 这也是个节省时间的法宝。这个组合将当前行的内容往上或下移动。在try/catch部分,这个快捷方式尤其好使。     9. ctrl+m 大显示屏幕能够提高工作效率是大家都知道的。Ctrl+m是编辑器窗口最大化的快捷键。     10. ctrl+.及ctrl+1:下一个错误及快速修改 ctrl+.将光标移动至当前文件中的下一个报错处或警告处。这组快捷键我一般与ctrl+1一并使用,即修改建议的快捷键。新版Eclipse的修改建 议做的很不错,可以帮你解决很多问题,如方法中的缺失参数,throw/catch exception,未执行的方法等等。 更多快捷键组合可在Eclipse按下ctrl+shift+L查看。 让我们按照使用频率来看看我最爱用的一些热键组合。(注:以下内容在Eclipse3.02及一上版本通过测试) 1. Control-Shift-T: 打开类型(Open type)。如果你不是有意磨洋工,还是忘记通过源码树(source tree)打开的方式吧。用eclipse很容易打开接口的实现类的,按ctrl+t会列出接口的实现类列表 2. Control-Shift-R: 打开资源(不只是用来寻找Java文件)。小提示:利用Navigator视图的黄色双向箭头按钮让你的编辑窗口和导航器相关联。这会让你打开的文件对应显示在导航器的层级结构中,这样便于组织信息。如果这影响了速度,就关掉它。 3. F3: 打开申明(Open declaration)。或者,利用Declaration Tab(在Java视图模式下,选择Windows --> Show View — > Declaration)。当你选中代码中的一个方法,然后按这个按键,它会把整个方法在申明方框里显示出来。 4. Alt-left arrow: 在导航历史记录(Navigation History)中后退。就像Web浏览器的后退按钮一样,在利用F3跳转之后,特别有用。(用来返回原先编译的地方) 5. Alt-right arrow: 导航历史记录中向前。 6. Control-Q: 回到最后一次编辑的地方。这个快捷键也是当你在代码中跳转后用的。特别是当你钻的过深,忘记你最初在做什么的时候。 7. Control-Shift-G: 在workspace中搜索引用(reference)。这 是重构的前提。对于方法,这个热键的作用和F3恰好相反。它使你在方法的栈中,向上找出一个方法的所有调用者。一个与此相关的功能是开启“标记”功能 (occurrence marking) 。选择Windows->Preferences->Java-> Editor-> […]

龙生   24 Sep 2014
View Details

Sql2008 全文索引 简明教程

在SQL Server 中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数 据的速度,不用在用LIKE这样低效率的模糊查询了。 下面简明的介绍如何使用Sql2008 全文索引 一、检查服务里面带有Full-text字样的服务是否存在并开启 如果不存在带有Full-text字样的服务的,确认是否安装了sqlserverFullTextSearch 二、新建全文目录 全文目录是用来存储全文索引的 三、为表定义全文索引 四、点击下一步,按提示选择 1.确认下一步 2.选择唯一索引,通常是主键 3.选择要建立的全文索引列,对于断字符的选择如果列存的是中文就选择chinese,如果是英文就选择English 4.选择索引更新方式,可以先自动更新,以后数据量大了可以设置添加全文索引的计划 5.选择全文目录 五、全文索引的SQL查询关键字 建立好全文索引后就可以使用SQL语句来查询了,主要用带三个关键字 CONTAINS、FREETEXT、CONTAINSTABLE和FREETEXTTABLE 1. CONTAINS 搜索单个词和短语的精确或模糊的匹配项,要搜索的内容必须是个有意义的词语,比如说“苹果”、“建设厅”,不能是一些没意义的词语,比如“阿迪撒啊是”,“儿儿的”这样的词语即使 LIKE是能查询出来,但全文索引对这样没意义的词语可能没有建立索引,查不出来 [sql] view plaincopy SELECT * FROM dbo.Business WHERE CONTAINS(Address,'旅游') 实现功能:查询Business表中Address列包含“旅游”的行 详细查看:http://msdn.microsoft.com/zh-cn/library/ms187787.aspx 2. FREETEXT 和CONTAINS类似,不同的是它会先把要查询的词语先进性分词然后在查询匹配项 [sql] view plaincopy 01.select * 02.from dbo.Business 03.where freetext(Address,'带婴儿旅游') 详细查看:http://msdn.microsoft.com/zh-cn/library/ms176078.aspx 3.CONTAINSTABLE 在查询方式上与 CONTAINS 几乎一样。但CONTAINSTABLE 返回的是符合查询条件的表,在 SQL 语句中我们可以把它当作一个普通的表来使用,并且使用 CONTAINSTABLE 的查询对每一行返回一个相关性排名值 (RANK) 和全文键 (KEY)。 [sql] view plaincopy SELECT  * FROM    Business AS FT_TBL         INNER JOIN CONTAINSTABLE(Business, *, 'ISABOUT (婴儿 WEIGHT (.8),赤水 WEIGHT (.4) )')         AS KEY_TBL ON FT_TBL.BusinessId = KEY_TBL.[KEY] ORDER BY KEY_TBL.RANK DESC ISABOUT 是这种查询的关键字,weight 指定了一个介于 0~1之间的数,类似系数。表示不同条件有不同的侧重。 CONTAINSTABLE 返回的表包含有特殊的两列:KEY,RANK。 被全文索引的表必须有唯一索引。这个唯一的索引列在返回的表中就成为 KEY。我们通常把它作为表连接的条件。 在某些网站搜索时,结果中会出现表示匹配程度的数字,RANK 与此类似。它的值在0~1000之间,标识每一行与查询条件的匹配程度,程度越高,RANK 的值大,通常情况下,按照 RANK 的降序排列。  详细查看:http://msdn.microsoft.com/zh-cn/library/ms189760.aspx 4. FREETEXTTABLE 在查询方式上与 FREETEXT 几乎一样。但 FREETEXTTABLE 返回的是符合查询条件的表,在 SQL 语句中我们可以把它当作一个普通的表来使用,并且使用  FREETEXT  的查询对每一行返回一个相关性排名值 (RANK) 和全文键 (KEY)。 [sql] view plaincopy SELECT  * ,         BusinessID ,         Address FROM    Business AS FT_TBL […]

龙生   22 Sep 2014
View Details

关于在FireFox中获取radio值的获取方法(原)

之前转了一篇关于jQuery获取 select 、radio、checkbox 值的文章。   其中关于获取radio值的方法是: $("input[@type=radio][@checked]").val(); 或者 $("input[name=’radioName'][checked]").val();   实际上 上面的两种方法在IE中可以正常工作,而FireFox/Chrome浏览器下是无效的,其中第二种方法只能获取到,你在代码中初始化checked="checked"的radio值   之后翻看了一下《jQuery in Action》发现里面的例子的写法为   $("input[name=’radioName']:checked").val();   其实以前在刚看完《jQuery in Action》时写的方法都是正确的,可时间一长就容易忽略这些小细节了,导致直接从网上找了解决方法。并且一直错误的认为jQuery是没有浏览器兼容问题的,看来以后在看书是一定只要注意一些细节问题了。 from:http://www.thinksaas.cn/group/topic/226414/

龙生   22 Sep 2014
View Details

懒加载——网页图片的加载技术

目前,网络上各大论坛,尤其是一些图片类型的网站上,在图片加载时均采用了一种名为懒加载的方式,具体表现为,当页面被请求时,只加载可视区域的图片,其它部分的图片则不加载,只有这些图片出现在可视区域时才会动态加载这些图片,从而节约了网络带宽和提高了初次加载的速度,具体实现的技术并不复杂,下面分别对其说明。 首先,在页面中准备一个id为div1的div,在这个div中放一个ul,ul中准备了一些li,然而这些li都有一个data-src的属性,准备着图片的地址,具体结构如下: [html] view plaincopy     <div id="div1">          <ul>             <li data-src="http://t03.pic.sogou.com/7620cd6e740c3c50.jpg"></li>             <li data-src="http://t03.pic.sogou.com/2c67d8e270eb61c3.jpg"></li>             <li data-src="http://t01.pic.sogou.com/9c9d058c0c731087.jpg"></li>             <li data-src="http://t02.pic.sogou.com/007da8d5456bc0ab.jpg"></li>             <li data-src="http://t03.pic.sogou.com/64d939a5456bc0ab.jpg"></li>             <li data-src="http://t03.pic.sogou.com/95eb5da5456bc0ab.jpg"></li>             <li data-src="http://t04.pic.sogou.com/5c3fa2b5456bc0ab.jpg"></li>             <li data-src="http://t03.pic.sogou.com/f6443925456bc0ab.jpg"></li>             <li data-src="http://t04.pic.sogou.com/f96780b5456bc0ab.jpg"></li>             <li data-src="http://t03.pic.sogou.com/54a75d2e740c3c50.jpg"></li>             <li data-src="http://t03.pic.sogou.com/3b173ee50fdad689.jpg"></li>             <li data-src="http://t03.pic.sogou.com/95eb5da5456bc0ab.jpg"></li>             <li data-src="http://t04.pic.sogou.com/5c3fa2b5456bc0ab.jpg"></li>             <li data-src="http://t03.pic.sogou.com/f6443925456bc0ab.jpg"></li>             <li data-src="http://t04.pic.sogou.com/f96780b5456bc0ab.jpg"></li>             <li data-src="http://t03.pic.sogou.com/54a75d2e740c3c50.jpg"></li>             <li data-src="http://t03.pic.sogou.com/3b173ee50fdad689.jpg"></li>             <li data-src="http://t01.pic.sogou.com/b0e3d909c131e9cb.jpg"></li>             <li data-src="http://t02.pic.sogou.com/27e362d461029a95.jpg"></li>             <li data-src="http://t02.pic.sogou.com/ddfb62d6f09be522_i.jpg"></li>             <li data-src="http://t01.pic.sogou.com/9448c50e46a53e65.jpg"></li>             <li data-src="http://t03.pic.sogou.com/b7e5a7e50fdad689.jpg"></li>             <li data-src="http://t03.pic.sogou.com/3825466e4e3b9ce4.jpg"></li>             <li data-src="http://t03.pic.sogou.com/1d7d602e740c3c50.jpg"></li>             <li data-src="http://t02.pic.sogou.com/085ea3d5456bc0ab.jpg"></li>             <li data-src="http://t04.pic.sogou.com/ad61be7270eb61c3.jpg"></li>             <li data-src="http://t04.pic.sogou.com/ed7705b270eb61c3.jpg"></li>             <li data-src="http://t04.pic.sogou.com/491c4cb461029a95.jpg"></li>             <li data-src="http://t03.pic.sogou.com/e603c6ae4e3b9ce4.jpg"></li>             <li data-src="http://t01.pic.sogou.com/6b6a148cdc19fbb4.jpg"></li>             <li data-src="http://t01.pic.sogou.com/c301bac9f514c378.jpg"></li>             <li data-src="http://t01.pic.sogou.com/11a6ce8e4e3b9ce4.jpg"></li>             <li data-src="http://t04.pic.sogou.com/41b26435456bc0ab.jpg"></li>             <li data-src="http://t03.pic.sogou.com/adb811acdc19fbb4.jpg"></li>             <li data-src="http://t03.pic.sogou.com/fbb08be9c131e9cb.jpg"></li>             <li data-src="http://t01.pic.sogou.com/b2ecd2ce4e3b9ce4.jpg"></li>             <li data-src="http://t04.pic.sogou.com/0509bff02200e0a5.jpg"></li>             <li data-src="http://t04.pic.sogou.com/0509bff02200e0a5.jpg"></li>             <li data-src="http://t04.pic.sogou.com/e655c4fe49cac8ea.jpg"></li>             <li data-src="http://t01.pic.sogou.com/5251ca4e740c3c50.jpg"></li>             <li data-src="http://t03.pic.sogou.com/7fe86f66ce211acb.jpg"></li>             <li data-src="http://t04.pic.sogou.com/541569b5df134ca6.jpg"></li>             <li data-src="http://t01.pic.sogou.com/d34a3f0e46a53e65.jpg"></li>             <li data-src="http://t02.pic.sogou.com/78bca85270eb61c3.jpg"></li>         </ul>     </div> 图片的动态加载就是通过读取li元素,然后获得li元素的data-src属性的值赋予动态创建的图片的src,从而实现了图片的创建。 [javascript] view plaincopy function setImg(index) {     var oDiv = document.getElementById('div1');     var oUl = oDiv.children[0];     var aLi = oUl.children;     //html5最新属性     if (aLi[index].dataset) {         var src = aLi[index].dataset.src;     } else {         var src = aLi[index].getAttribute('data-src');     }     var oImg = document.createElement('img');     oImg.src = src;     if (aLi[index].children.length == 0) {         aLi[index].appendChild(oImg);     } } 那么怎么识别是否在可视区域呢?这里需要一个函数,能够实现获得当前元素距离网页顶部的距离! [javascript] view plaincopy //获得对象距离页面顶端的距离 function getH(obj) {     var h = 0;     while (obj) {         h += obj.offsetTop;         obj = obj.offsetParent;     }     return h; } 当网页的滚动条滚动时要时时判断当前li的位置! [javascript] […]

龙生   19 Sep 2014
View Details

C#多线程完美解决方案

 

  运行上述代码,我们可以看到问题已经被解决了,通过等待异步,我们就不会总是持有主线程的控制,这样就可以在不发生跨线程调用异常的情况下完成多线程对winform多线程控件的控制了 from:http://blog.csdn.net/windflow/article/details/8693291

龙生   19 Sep 2014
View Details

20+ 个免费的对触摸友好的按钮设计

1. APPLICATION MARKET BUTTONS 2. SIMPLE TOGGLE SWITCH (PSD) 3. SOCIAL BUTTONS – FREE PSD 4. POWER BUTTON (FREE PSD) 5. DIRECTIONAL BUTTONS (FREE PSD) 6. FLAT BUTTONS 7. BIG BUTTONS KEYBOARD STANDARD 8. SOCIAL SIGN IN BUTTONS 9. SOCIAL BUTTONS 10. FLAT INSTAGRAM BUTTONS 11. RANDOM SOCIAL BUTTONS WITH FREE PSD 12. POWER BUTTON PSD 13. MUSIC PLAYER BUTTON SET (FREE PSD) 14. SIMPLISTIC BUTTONS 15. DOWNLOAD BUTTON 16. CHECK BUTTONS REBOUND 17. BIG BLUE BUTTONS 18. BUTTON ANIMATION 19. FACEBOOK CONNECT BUTTON – FREE PSD 20. FLAT UI BUTTONS (PSD INCLUDED) 21. OUT OF THE WHITE 22. REALISTIC BUTTON – PRACTICE 23. TWITTER BUTTONS (PSD) 24. UPLOAD BUTTONS via hidimba360 from:http://www.oschina.net/news/55294/20-free-touch-friendly-button-designs

龙生   16 Sep 2014
View Details

memcached 协议路由器 Mcrouter

Mcrouter 是一个 memcached 协议路由器,用于对 memcached 的部署进行扩展。这是 Facebook 缓存架构的核心组件,峰值的时候每秒可处理 50 亿请求。详细介绍请看这里。 from:http://www.oschina.net/p/mcrouter

龙生   16 Sep 2014
View Details

web开发者不可错过的11个JavaScript工具

JavaScript即将接管Web世界,如雨后春笋版冒出的JavaScript工具更是让web开发者无所适从。 本文我们为大家推荐11款崭露头角但功能强大的JavaScript工具,是追逐web设计新潮流(界面简洁、面向移动、强调互动)中不可或缺的好帮手。 一、Meteor Meteor web应用开发框架定义的七大开发天条为现代软件开发打下良好基础,例如Meteor采用开源社区的方式培育插件资源,其他天条还包括:设计简单的API、仅通过网络传送数据、使用统一的开发语言等。Meteor还开发了一个客户端的本地模拟器。 Meteor是一种新型JavaScript框架,用于WebApp应用程序开发。Meteor的基础构架是Node.JS+MongoDB,它把这个基 础构架同时延伸到了浏览器端,如果App用纯JavaScript写成,JS APIs和DB APIs就可以同时在服务器端和客户端无差异地调用,本地和远程数据通过DDP(Distributed Data Protocol)协议传输。因此部分应用如TODO列表,网络在线和离线下使用功能完全没有差异,动作响应和数据延迟也完全感觉不出来。 二、Epoch 数据可视化是最火的web开发项目,如今已经有很多工具能够在web上展示吸引眼球的数据可视化互动图表,例如D3.js。但Epoch更进一步,在基本的D3代码库的基础上进一步整合,提供更加流畅的体验。通过Epoch你可以向客户展示干净漂亮实时更新的图表。 三、Web Starter Kit 为不同的移动终端开发web应用是一件极为痛苦的事情,Google的Web Starter Kit的目标就是帮助开发者为不同设备开发web应用,例如点击同步、屏幕适配等问题。无论你的用户使用老款iPad还是新款Android手机,代码都能够适应。你只需要勾画出界面,屏幕适配的问题可以交给Web Starter Kit处理,并给出设计建议。 四、Reveal.js Reveal.js 可以看做是HTML5版本的PowerPoint。可以在web页面上以PPT的方式动态呈现信息,如果你的网站想华丽丽地讲故事,那么Reveal能给你最酷的效果。 五、RxJS 静态网页已经成为历史,如今的web设计趋势是预测客户想法并提供更好的互动功能,例如自动填写表单、搜索Wikipedia等。RxJS框架可以很方便地为鼠标和键盘事件提供响应。 六、NodeBB NodeBB是传统BBS论坛的一次进化,提供实时的对话流功能,NodeBB的开发者还增加了很多时髦主题,并支持移动设备屏幕。NodeBB还整合了一些最新的面向触摸屏的web设计功能,例如无限滚动,NodeBB的社区很活跃,不断有新插件出现。 七、GulpJS 从头编写HTML\CSS\Javascript是上个世纪的事情了,如今的JavaScript都是通过CoffeeScript这样的支持句法缩写的编辑器写成的。如果你希望写完JavaScript能够一个工具完成代码清理优化工作,GulpJS就是你的不二之选,GulpJS类似Ant或Maven之于Java。 八、AngularJS Google开发的AngularJS是一个轻量级的,在浏览器中展示信息的框架。ANgularJS从后台服务器收集数据在本地编辑模板用于演示。服务器端代码控制数据存储,而ANgularJS代码负责演示。可以兼容桌面、平板电脑和智能手机浏览器。 九、Odyssey 有了API,如今在网站中加入地图应用变得非常容易,结合地图的内容框互动则需要用到一些工具,CartoDB开发的Odyssey就是一个不错的选择。 十、PlayCanvas 一般来讲,游戏开发与web应用完全是两码事。但先试试,游戏世界的很多工具都可以被用于在网站中增加华丽界面。PlayCanvas就是一个基于WebGL的游戏引擎,结合了物理、光影、音效等工具用于创建一个复杂的界面。 十一、Deb.js 开发中的编码错误无法避免,但不同的解决方法则是决定性的。Deb.js虽然只有1.5KB,但是能够清理控制台窗口,让JavaScript的除错更容易。是Chrome、Opera和Safari内建的除错工具的好搭档。 文章来自IT经理网 from:http://www.oschina.net/news/55219/11-javascript-tools

龙生   13 Sep 2014
View Details

程序员懒惰之极的确凿证据

程序员很懒是出了名的,但很多书里都说程序员的懒是一种美德,但懒是应该有节制的,应该分场合。比如下面的这些懒惰的行为,相信没有人会欣赏他们的这种表现。

1、躺着编程。另外一个也是躺在床上工作的职业是妓女。

2、还是躺着编程,但天花板太远了,或不能承受,改成头套式的了。

3、屏幕应该顺着我的方向,而不是我顺着屏幕的方向

4、程序员吃爆米花的方式

5、紧急bug修复(方案一)

6、紧急bug修复(方案二)

7、好困,我要眯一会

8、程序员喝饮料的方式

9、程序员开发出的画线程序

10、用脚关电脑

稿源:http://www.techug.com/programmer-lazy

from:http://www.oschina.net/news/55170/programmer-lazy

网站防止CC攻击的方法

CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。 CC攻击的攻击技术含量低,利用工具和一些IP代理,一个初、中级的电脑水平的用户就能够实施攻击。不过,如果了解了CC攻击的原理,那就不难针对CC攻击实施一些有效的防范措施。 通常防止CC攻击的方法有几种,一个是通过防火墙,另外一些网络公司也提供了一些防火墙服务,例如XX网站卫士和XX宝,还有一种方法是自己写程序预防,昨天网站遇到CC攻击,这也让我尝试了一下各种防止CC攻击方法的有效性。 一开始我想使用某某网站卫士来预防攻击,从界面上看,似乎是防止了大量的CC攻击,但登录网站后发现,流量依旧异常,攻击还是依旧,看起来这个网站卫士的效果并没有达到。 从原理上看,基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。但如果IP的数量足够大,使得单个IP的连接数较少,那么防火墙未必能阻止CC攻击。 不仅如此,我还发现,启用了某某网站卫士之后,反而更容易被CC攻击,因为这个网站卫士并不能过滤掉CC攻击,攻击的IP经过其加速后,更换成为这个网站卫士的IP,在网站服务器端显示的IP都是相同的,导致服务器端无法过滤这些IP。 实际上,不使用网站卫士类的服务,直接通过分析网站日志,还是很容易分辨出哪个IP是CC攻击的,因为CC攻击毕竟是通过程序来抓取网页,与普通浏览者 的特性区别还是很大的,例如普通浏览者访问一个网页,必定会连续抓取网页的HTML文件、CSS文件、JS文件和图片等一系列相关文件,而CC攻击者仅仅 只会抓取一个URL地址的文件,不会抓取其他类型的文件,其User Agent也大部分和普通浏览者不同,这就可以在服务器上很容易分辨出哪些访问者是CC攻击了,既然可以判断出攻击者的IP,那么预防措施就很简单,只需 要批量将这些IP屏蔽,即可达到防范CC攻击的目的。 最终,我花了半个小时写了一段小程序,运行之后自动屏蔽了数百个IP,网站才算正常,从而证明,防火墙对于CC攻击的防御并不有效,最有效的方法还是在服务器端通过程序自动屏蔽来预防。 看来CC攻击的门槛还真低啊,搞个几百个代理或者肉鸡就能攻击别人了,其成本非常低,但效果比较明显,如果攻击者流量巨大的话,通过耗费带宽资源的方式 都可以进行攻击。但是,CC攻击也有明显的技术缺陷,就是攻击者的IP并不是海量的,通常就是几百数千的级别,并且是真实访问了网站页面,这就使得网站可 以通过程序过滤的方式,轻松获取到这些攻击者IP,批量进行屏蔽,那么这种CC攻击就会得到预防。 对于站长来说,通过程序来过滤CC攻击门槛较高,要有一定的编程技术,因此还是建议使用第三方网站提供的预防CC的服务,目前主要的网站有:360网站卫士、百度加速乐、安全宝等。

龙生   11 Sep 2014
View Details
1 306 307 308 413