WebAPI用法

昨天看了两篇文章: ASP.NET Web API(一):使用初探,GET和POST数据【Parry】 HttpClient + ASP.NET Web API, WCF之外的另一个选择【dudu】 通过这两篇文章让我了解了WEB API的简单用法。 Parry是在MVC中使用WebAPI:在Visual Studio 2012中新建MVC4项目,在App_Start目录下有一个WebApiConfig.cs文件,这个文件中就是相应的Web API的路由配置了。 我也根据这两篇文章写了一个简单的测试程序。 先创建了一个UserModel

然后添加Web API Controller

注册路由

在Global中注册

这个时候用地址栏访问地址:api/user/getadmin 这个时侯默认返回的是XML数据模型。 使用AJAX请求这个api,指定数据格式为json

alert出来的结果是: 这样看来,真的是dudu所说的,可以根据请求的数据类型返回指定的数据格式。   POST数据 修改一下controller,添加一个add方法

只为了测试,所以这里只判断一下传入的实体是否为空,如果不为空则返回true 我在页面上添加了一个button,代码如下:

添加JS代码

再次运行页面 我们附加进程进行调试,在发送ajax请求的时候,服务器段接收到的数据如图: from:http://www.cnblogs.com/youring2/archive/2013/03/08/2949455.html

龙生   25 May 2015
View Details

国行Xbox One“解锁” 你要知道的10件事儿

腾讯数码讯(马炯慧)不管怎样,国行版Xbox One总算是放松了“锁区”限制。这个利好消息不单单是让玩家们感到高兴,对于微软来讲也是极好的,可玩性提升后也能带动更多的潜在玩家进行购买,这样就会在销量成绩单上也更好看一些。无论你是Xbox One粉丝还是游戏爱好者,如果近期打算入手国行的话,那么关于它的这些事儿你还是需要有所了解的。 1.国行版Xbox One现在的售价是多少? 先来说说大家最关心的价格问题,玩不玩的上,还得先摸摸自己的口袋。从目前微软的官方报价来看,国行版Xbox One的价格分为两档,不含Kinect感应器的“乞丐版”售价3699元;而带有Kinect感应器售价则要比“乞丐版”贵上600元,价格为4299元。 2.有Kinect感应器和没有它的版本在实际体验上有何差别,差别有多大? Kinect感应器,这个东西主要是为了配合一些体感游戏,如《水果忍者》、《舞动全身》等一起使用的。如果你对这些游戏并不感冒的话,那选择3699元的“乞丐版”也是完全可以的,这两个版本在其它纯手柄类游戏体验中没有任何差别。 3.国行版Xbox One的游戏多么,可玩性如何?买一个游戏大概需要多少钱? 从目前的情况来看,国行版Xbox One的游戏还不是太多,而且对于很多重度游戏玩家来说,最为要命的是国行目前没有太多像《使命召唤》、《刺客信条》之类的游戏大作。如果你只是打算玩国行版的游戏的话,可玩性可能会稍微差一些。不过像《极限竞速》、《雷曼传奇》这些国行首发游戏也还是值得玩一玩的。 但好在国行版Xbox One已经在“锁区”方面有所放松。购买国行版Xbox One之后,通过更新固件的方式将你的游戏主机操作系统版本更新至6.2.12710.0,就可以畅快地玩国际版的光盘游戏了。当然,也可以进行相应游戏的更新与升级。另外,升级后的国行版Xbox One还能正常使用国际版Xbox Live的联机功能以及语音聊天功能。 至于说游戏的价格,从现有的游戏来看,最便宜的为199元,最贵则要249元。 4.除光盘游戏之外,游戏还可以下载着玩。 光盘游戏虽然省去了下载的痛苦,但在实际的购买方面可能会有一定时间上的延迟。如果以后遇上某款游戏大作上架,能不能在第一时间入手也是一个问题。所以,直接从官方商店进行游戏的下载也不失为一个解决办法。另外,微软还会在游戏发布之后通过更新补丁来进一步提升游戏的体验。 既然说到了下载,我还得多吐槽一句。所有版本的Xbox One在硬盘容量方面仅有500GB,当然,这500GB并不完全是可用空间。它就像我们的智能手机一样,操作系统也会占用这500GB的存储空间,而实际的可用空间肯定是要小于500GB的。 国行版的Xbox One在可用空间方面更是缩水到了可怜的340GB左右。虽说它也能轻松装下十几个游戏,但一下少了160GB的空间怎么想也感觉不甘心啊。而且,微软还不允许用户自己更换主机硬盘。如果你这样干的话,就会直接失去保修。这样的限制对于重度游戏玩家来说,就更加郁闷了。 5.如何将国行版Xbox One升级至最新固件? 升级方法非常简单。连入网络、打开“设置”菜单后,按照所提示的步骤即可进行正常升级。升级完成后如果你看到操作系统版本显示的是“6.2.12710.0”话,就说明你的国行主机已经成功“解锁”了。如果你是在最近这一两天下单,也不排除厂家在出厂时已经进行最新固件升级。不管怎样吧,只要你的国行主机操作系统版本显示的是“6.2.12710.0”就证明已经“解锁”了。 6.如果国行版Xbox One坏了去哪里修? 从微软官方网站显示的信息来看,国行Xbox One将享受30天内无理由退货,以及为期两年的有限保修。至于说具体保修政策,大家可以去到微软官网上进行查阅。 7.除了玩游戏,国行版Xbox One还能干什么? 其实,微软官方对于Xbox One的定位不止是一台游戏机,而是一部综合性客厅娱乐终端。自然也会包含不少的多媒体内容,而这也是微软选择国内IPTV服务商百视通作为合作伙伴的原因之一。 内容方面,目前可以通过国行版Xbox One观看热播的电影、电视剧以及体育足球方面的赛事转播。另外,根据微软目前在世界范围内所奉行的合作政策,我感觉未来也不排除与国内其它互联网视频服务商建立合作关系,来丰富Xbox One上的视频内容。 8.相比港版或其他版本的Xbox One,国行版有哪些优/劣势? 优势:在产品质量方面肯定是最为放心的,而且还享受正规的保修、退换等。如果不差那八、九百块钱的话,买国行的最省心、也最踏实。而且“解锁”后的国行Xbox One也能玩国际版的光盘游戏,体验上也没输港版或其他版本太多。 劣势:就拿国行和港版比较来说,主机价格方面最高相差990元左右,这应该是不少国内玩家购买港版主机的重要因素之一。而在游戏上的差价不是太多,50元左右。 游戏数量、种类上,国行也是明显处于劣势,经典的游戏大作现在几乎没有。不过,相信微软在国行渠道“跑”熟之后,各种大作肯定会陆续上架的。兴许,以后发布的新游戏,国行也能获得同步首发的待遇呢。 在政策方面的限制,谁也没有办法。 9.Xbox One对比竞争对手PS4,哪个更好? 这个问题的答案,我感觉并没有绝对好与不好。两款游戏主机都拥有着超高的人气,不管是在全球范围还是在国内。而且现在它们的国行版在对待“锁区”的问题上也基本保持了相同的步调,都可以直接在国行版主机上运行各自国际版的光盘游戏,在可玩性上也不相上下。 如果你偏好多人同时在线体验,玩类似《使命召唤》的话,可以考虑入手Xbox One;又或者是你喜欢一些画面比较细腻、精美的单机游戏的话,或许PS4更适合你。总之,作为新一代游戏主机的代表作品,选购哪款游戏主机还是需要遵循你自己的真实想法,多听听老玩家的建议或者能在实体店体验后,再做出自己的选择。 10.你说了这么多,自己打算买么? 现在还不太确定,我毕竟不是啥重度游戏玩家,游戏主机对我来说并不是刚需。而且最低3699元的价格,说实话也不是我一拍脑门就能决定买的。还有,现有的游戏数量、质量也不是太高。对画质要求并不高的我,在电脑上也能凑合玩到一些不错的游戏,也就暂时不会去考虑入手游戏主机了。 from:http://digi.tech.qq.com/a/20150409/019253.htm

龙生   25 May 2015
View Details

[转]Entity FrameWork初始化数据库的四种策略

程序猿就是苦逼,每天还得分出一些时间去写博文。天真的很热,今天就随便写一点啦! 1、EF初始化数据库的四中策略 EF可以根据项目中的模型自动创建数据库。下面我们就分类看看Entity Framework数据库初始化四种策略 一、 //每次运行都会创建新的数据库 Database.SetInitializer(new DropCreateDatabaseAlways()); 二、//只有第一次运行~才会创建新的数据库~默认的方式 Database.SetInitializer(new CreateDatabaseIfNotExists()); 三、 //修改模型后~运行~会创建新的数据库 Database.SetInitializer(new DropCreateDatabaseIfModelChanges()); 四、//使用自己配置的数据库,请到:web.config中配置自己的连接字符串,注意连接字符串的名称应与上下文:XXXXContext的名字一致。 Database.SetInitializer(null); 注:以上代码请到Global.asax中加上,加上之后会有破浪线,请添加EF的命名空间:using System.Data.Entity; 实例代码如下: protected void Application_Start() { //Entity Framework数据库初始化四种策略 //自己去配置连接字符串 Database.SetInitializer(null); //默认方式 第一次创建 Database.SetInitializer(new CreateDatabaseIfNotExists()); //每一次都会删除旧数据库然后创建新的数据库 Database.SetInitializer(new DropCreateDatabaseAlways()); //模型关系改变时创建新数据库 Database.SetInitializer(new DropCreateDatabaseIfModelChanges()); AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); } 2、讲完了上述四中策略,下面就讲解一下EF的约定优先原则: EF会尽可能的使用约定而非配置,如果在程序运行时,不按照上述四方法配置具体的数据库连接方式,EF将按照约定创建一个连接,也就是根据模型关系创建一个数据库。EF 创建新数据库的过程如下: 首先EF将尝试连接SQLserverExpress的本地实例,并且查找与上下文:XXXXContext名字相同的数据库,如果EF找不到这个数据库,EF则会根据约定创建一个数据库。 from:http://m.blog.csdn.net/blog/jiangfei009003/38691327

龙生   24 May 2015
View Details

使用System.Timers.Timer类实现程序定时执行

在C#里关于定时器类有3个:System.Windows.Forms.Timer类、System.Threading.Timer类和System.Timers.Timer类。 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API  SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console  Application(控制台应用程序)无法使用。 System.Timers.Timer和System.Threading.Timer非常类似,它们是通过.NET Thread Pool实现轻量、精确的计时,对应用程序、消息没有特别的要求。System.Timers.Timer还可以应用于WinForm,完全取代上面的Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。 public int wrong = 0; System.Timers.Timer time = new System.Timers.Timer(); private void begin_Click(object sender, EventArgs e) { if (action.Text == "启动监测") { action.Text = "停止监测"; label2.Text = "已启动"; if (time.Interval.ToString() == "100") // The default value of interval is 100s. { time.Elapsed += new ElapsedEventHandler(TimeEvent); time.Interval = 1000; } time.Enabled = true; } else { action.Text = "启动监测"; label2.Text = "已停止"; time.Enabled = false; } } private static void TimeEvent(object source, ElapsedEventArgs e) { int tsec = e.SignalTime.Second; int isec = 10; if (tsec == isec) //it will be activated at 10s of every minutes. { if (!Check("http://www.test.com")) { string smtp_server="192.168.8.1"; int port = 25; string mail_from = "test_from@163.com"; string sender="test"; string mail_to = "test_to@163.com"; string receiver="adminer"; string subject = "The site is run out exception on " + DateTime.Now.ToString("yyyyMMddhhmmss"); string body = "The site can not open on " + DateTime.Now.ToString() + ",please check it !"; try { SendEmail(smtp_server, port, mail_from, sender, mail_to, receiver, subject, body); } catch(Exception ex) { MessageBox.Show(ex.Message); } } } } private static bool Check(string urlStr) { HttpWebRequest myWebRequest = null; try { myWebRequest = (HttpWebRequest)WebRequest.Create(urlStr); HttpWebResponse res = (HttpWebResponse)myWebRequest.GetResponse(); if (res.StatusCode == HttpStatusCode.OK) { res.Close(); return true; } else { res.Close(); return false; } } catch (Exception) { return false; } } public static void SendEmail(string smtp_server, int port, string mail_from, string sender, string mail_to, string receiver, string subject, string body) { MailAddress from = new MailAddress(mail_from, sender); MailAddress to = new MailAddress(mail_to, receiver); MailMessage message = new MailMessage(from, to); message.BodyEncoding = Encoding.UTF8; message.IsBodyHtml = true; message.Subject = subject; message.Body = body; SmtpClient client = new SmtpClient(smtp_server, port); //SmtpClient client = new SmtpClient(smtp_server); […]

龙生   18 May 2015
View Details

Lucene.Net

阅读目录 开始 Lucene简介 效果图 Demo文件说明 简单使用 重点类的说明 存在问题 调整后 Lucene.Net博文与资源下载 做过站内搜索的朋友应该对Lucene.Net不陌生,没做过的也许会问:就不是个查询嘛!为什么不能使用Like模糊查找呢? 原因很简单--模糊查询的契合度太低,匹配关键字之间不能含有其他内容。最重要的是它会造成数据库全表扫描,效率底下,即使使用视图,也会造成数据库服务器"亚历山大",那LuceneNet又是一个神马东西?如何使用?以下给出详细的介绍包括Demo 回到顶部 Lucene简介 首先说明的是--Lucene.Net只是一个全文检索开发包,不是一个成型的搜索引擎, 它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据的速度灰常快. 对以上加粗的词汇稍作下阐述: 文本数据:Lucene.Net只能对文本信息进行检索,所以非文本信息要么转换成为文本信息,要么你就死了这条心吧! 分词算法:将一句完整的话分解成若干词汇的算法  常见的一元分词(Lucene.Net内置就是一元分词,效率高,契合度低),二元分词,基于词库的分词算法(契合度高,效率低)… 切词:将一句完整的话,按分词算法切成若干词语 比如:"不是所有痞子都叫一毛" 这句话,如果根据一元分词算法则被切成: 不 是 所 有 痞 子 都 叫 一 毛 如果二元分词算法则切成: 不是 是所 所有 有痞 痞子 子都 都叫 叫一  一毛 如果基于词库的算法有可能:不是 所有 痞子 都叫 一毛 具体看词库 索引库:简单的理解成一个提供了全文检索功能的数据库 如果文字难以理解 见Demo文件说明中的右侧图吧 回到顶部 效果图 首先展示效果图,避免各位观众不知偶所云. 这里有三张图: 图1 简单使用页面效果图 图2 对数据库新增数据后 索引库更新效果图 图3 将图2中的新增数据修改后 索引库更新效果图 回到顶部 Demo文件说明 回到顶部 简单使用 图1中的BookList.aspx 页面

BookList.aspx.cs 后台的处理操作

使用的分词方法与关键字变红 SplitContent.cs

回到顶部 重点类的说明 Analyzer类:LuceneNet中分词算法的基类 任何自定义算法都需继承它 FSDirectory类: 指定索引库文件存放文件位置  是Directory的子类(它有两个子类 还有一个RAMDirecory,它用来指定将索引库文件存放在内存中) IndexReader:对索引进行读取的类 静态方法bool  IndexExists(Directory […]

龙生   18 May 2015
View Details

VS2010 优化运行速度

刚安装完VS2010,不仅启动速度慢,编写代码什么的都慢,卡死!!! 1.禁止VS2010显示启动动画 右键VS2010快捷方式,选择【属性】,在【目标】的后面加上:/nosplash(在exe后面加一个空格再写/nosplash),截图如下: 2.让VS2010启动后,显示空环境。 在VS2010中,打开【工具】—-〉〉〉【选项】—-〉〉〉【环境】—-〉〉〉【启动】,在【启动时】选择【显示空环境】,截图如下: 3.禁止VS2010在启动时,启动外部程序。 在VS2010中,选择【工具】—-〉〉〉【外接程序管理器】,截图如下: 在外接程序管理器中,去掉所有外接程序前面的钩,然后确定即可。截图如下: 4、去掉VS2010视觉体验 老样子,在VS2010中,选择【工具】—-〉〉〉【选项】—-〉〉〉【环境】—-〉〉〉【常规】,在右边找到【视觉体验】, 把视觉体验下面所有的钩给去掉即可。截图如下: 5.禁用【IntelliTrace】 在VS2010中,选择【工具】—-〉〉〉【选项】—-〉〉〉【IntelliTrace】,在右边找到【启用IntelliTrace】,然后去掉其前面的钩 即可。截图如下: 6.在vs2010命令提示符下,执行devenv.exe /resetuserdata   //这个方法我没有试过 参考文章:http://blog.csdn.net/kupepoem/article/details/6584667 7.禁用VS2010智能提示,即代码提示功能了,如果你安装了VA助手,这个智能提示是可以关闭的。 如果你没有安装VA,建议还是保留该功能吧。 在VS2010中,选择【工具】—-〉〉〉【选项】—-〉〉〉【文本编辑器】—-〉〉〉【C/C++】—-〉〉〉【高级】,在右边找到 【禁用IntelliSense】,选择True即可。截图如下: from:http://blog.163.com/pinbo_jiankun/blog/static/1335464882013102105055396/

龙生   18 May 2015
View Details

20 款超棒免费的 Bootstrap 管理和前端模板

1. SB Admin 2 Details & Download 2. Admin Lite Details & Download 3. Director Responsive Admin Template Free Details & Download 4. Free Bootstrap Admin Template Dream Details & Download 5. Dashgum – Free Dashboard Details & Download 6. Free Responsive Admin Template – Zontal Admin Details & Download 7. Free Download Bootstrap Admin Template Details & Download 8. Janux – Free Responsive Admin Dashboard Template Details & Download 9. Joli – Free Responsive Bootstrap Admin Dashboard Template Details & Download 10. KAdmin – Free Responsive Admin […]

龙生   18 May 2015
View Details

Swift vs. Objective-C:未来看好 Swift 的十个理由

是时候使用易入手又全面的Swif语言为iOS和mac OS X做应用开发了。 虽然编程语言不会那么容易消逝,但坚持衰落范例的开发小组正在这么做。如果你正为移动设备开发应用程序,并且你还没有研究Swift,那么注意:当Swift涉及到Mac、iPhone、ipad、Apple Watch和未来设备的应用开发时,它不仅会排挤掉Objective-C,而且还会取代在Apple平台中做嵌入式开发的C语言。 由于几个关键特性,在未来几年,Swift有很大潜力成为创造身临其境的、响应迅速的、面向用户的应用程序的实际编程语言。 苹果公司似乎在Swift上还有更大的目标。它的编译器性能和开发语言都被优化了,苹果公司在Swift的文档中暗示Swift被设计成小能(显示)“hello,world”,大能(完成)整个操作系统。苹果公司还没把这门语言的目标说全,Xcode6,Playgrounds和Swift的推出就一起揭露苹果的意图:更简单的应用开发,更易用的开发工具链。 这是从现在起使用Swift工作,并走在比赛前列的10个原因。 1. Swift 容易阅读 如你所能预计到的一门基于 C 构建的语言,Objective-C 身上所有的毒疣子都有。为了将关键词和类型同C的类型作区分,Objective-C 使用@符号引入了新的关键词。因为 Swift 不是基于C构建的,它同意了所有的关键词,并将 Objective-C 类型和对象相关的关键词前面大量的@符号移除了. Swift 丢弃了遗留下来的约定。因而你不再需要行尾的分号,以及 if/else 语句中围绕条件表达式的括弧。另外一个大变化就是方法的调用不再互相嵌套成中括号的深坑 — 再见吧,[[[ ]]]。Swift 中的方法和函数的调用使用行业内标准的在一对括弧内使用逗号分隔的参数列表。这样做的结果就是一种带有简化了句法和语法的更加干净有表现力的语言。 除了其它当代流行的编程语言之外,Swift 更像是自然的英语了。这种可读性是的其很容易能被其它来自 JavaScript,Java,Python,C#,以及 C++ 的开发者纳入到他们的工具链之中 — 一点也不像 Objective-C 这只笨笨的黄小鸭。 2. Swift 更易于维护 历史遗留问题会让 Objective-C 越来越倒退 — C 没有演进的话,这个语言也就跟着无法进行演进。C 需要程序员维护两套代码文件,以优化构建的时间以及创建可执行 app 的效率, 这种需要延续到了 Objective-C 上。 Swift 丢掉了对着俩文件的要求。Swift1.2 中 Xcode 和 LLVM 编译器可以自动计算出以来并执行增量构建。如此,将内容清单 (头文件) 同内容主体(实现文件)相分离。Swift 将 Objective-C 头文件(.h) 和实现文件 (.m) 合并成了一个代码文件 (.swift)。 Objective-C 的两份文件系统存在强加给程序员的额外工作 — 而这些工作会让程序员难免分心而不能顾全大局. 在 Objective-C 中你不得不手动去同步文件之间的方法名称和注释, 有时候要寄希望于一个约定好的标准,不过除非团队的规矩和代码审查制度到位,否则这是不会为你提供什么保障的. Xcode 和 LLVM 编译器可以在幕后做一些工作来减轻程序员的工作负担. 使用 Swift, 程序员可以少做些费脑力的记忆性工作,从而能在创建app逻辑的工作上面赢得更多的时间. Swift 为我们程序员裁掉了那些样板式的工作,同时对代码、注释以及所要支持的特性的质量都有所提升. 3. Swift 更加安全 […]

龙生   15 May 2015
View Details

解决:Entity Framework + MariaDb(MySql)中文乱码

今天写一MVC4+Entity Framework+Mysql的小例子时,发现中文写到数据库里是N个问号(乱码哦~); 于是跟了一下代码,发现页面提交过来的数据正常,这说明肯定是EF写到数据库时出了问题。 为了进一步验证,我用SQLServer2008试了一下,一切正常,那就在Mysql上找原因吧~ 但mysql库编码也是utf8,表也是utf8,这是什么原因呢? 百度了一把,看 了几篇文章也没能解决我的问题,无非都是要把网页、数据库、EF的编码改一致,我的本来都是一致的,难道是字段的编码?但字段的编码怎么改呢?也没找到方法,忽然看到字段的排序项是空的,会不会是它的原因呢?于是改成utf8——测试——一切正常~有图有真相:

龙生   14 May 2015
View Details

防范 DDoS 攻击的 15 个方法

为了对抗 DDoS(分布式拒绝服务)攻击,你需要对攻击时发生了什么有一个清楚的理解. 简单来讲,DDoS 攻击可以通过利用服务器上的漏洞,或者消耗服务器上的资源(例如 内存、硬盘等等)来达到目的。DDoS 攻击主要要两大类: 带宽耗尽攻击和资源耗尽攻击. 为了有效遏制这两种类型的攻击,你可以按照下面列出的步骤来做: 1. 如果只有几台计算机是攻击的来源,并且你已经确定了这些来源的 IP 地址, 你就在防火墙服务器上放置一份 ACL(访问控制列表) 来阻断这些来自这些 IP 的访问。如果可能的话 将 web 服务器的 IP 地址变更一段时间,但是如果攻击者通过查询你的 DNS 服务器解析到你新设定的 IP,那这一措施及不再有效了。 2. 如果你确定攻击来自一个特定的国家,可以考虑将来自那个国家的 IP 阻断,至少要阻断一段时间. 3、监控进入的网络流量。通过这种方式可以知道谁在访问你的网络,可以监控到异常的访问者,可以在事后分析日志和来源IP。在进行大规模的攻击之前,攻击者可能会使用少量的攻击来测试你网络的健壮性。 4、对付带宽消耗型的攻击来说,最有效(也很昂贵)的解决方案是购买更多的带宽。 5、也可以使用高性能的负载均衡软件,使用多台服务器,并部署在不同的数据中心。 6、对web和其他资源使用负载均衡的同时,也使用相同的策略来保护DNS。 7、优化资源使用提高 web server 的负载能力。例如,使用 apache 可以安装 apachebooster 插件,该插件与 varnish 和 nginx 集成,可以应对突增的流量和内存占用。 8、使用高可扩展性的 DNS 设备来保护针对 DNS 的 DDOS 攻击。可以考虑购买 Cloudfair 的商业解决方案,它可以提供针对 DNS 或 TCP/IP3 到7层的 DDOS 攻击保护。 9、启用路由器或防火墙的反IP欺骗功能。在 CISCO 的 ASA 防火墙中配置该功能要比在路由器中更方便。在 ASDM(Cisco Adaptive Security Device Manager)中启用该功能只要点击“配置”中的“防火墙”,找到“anti-spoofing”然后点击启用即可。也可以在路由器中使用 ACL(access control list)来防止 IP 欺骗,先针对内网创建 ACL,然后应用到互联网的接口上。 10、使用第三方的服务来保护你的网站。有不少公司有这样的服务,提供高性能的基础网络设施帮你抵御拒绝服务攻击。你只需要按月支付几百美元费用就行。 11、注意服务器的安全配置,避免资源耗尽型的 DDOS 攻击。 12、听从专家的意见,针对攻击事先做好应对的应急方案。 13、监控网络和 web 的流量。如果有可能可以配置多个分析工具,例如:Statcounter 和 Google analytics,这样可以更直观了解到流量变化的模式,从中获取更多的信息。 14、保护好 […]

龙生   14 May 2015
View Details
1 290 291 292 414