双廊

hello 2015

hello 2015,我们在上线!

警惕360浏览器伪装safari和IE

近期许多网民发现在使用360浏览器访问网站时会出现链接跳转失灵或者刚刚填写好的表单却被清空的现象。技术监测显示这是因为360浏览器在升级后随机篡改HTTP Referer,干扰用户浏览网站的访问序列,导致网站为用户提供的服务中断,带来不便。什么是HTTP Referer?简而言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些公开信息用于响应访问需求。Referer被篡改固然导致不便,但更需要大家警惕的是360此举即意味着将所有网银用户暴露在CSRF攻击(Cross-site request forgery跨站请求伪造)面前。举个例子。当你在360buy完成购物按下付款按钮,你需要登录到网银,通过对银行网站发送一个请求来完成转账。这时候,如果有黑客瞄上了你,使用CSRF的攻击方式,而你又恰巧刚进行过转账操作不久,浏览器与银行网站之间的会话还没有过期,那悲剧就很可能会发生,黑客将轻松的把你账户里的钱据为己有。当前防御CSRF攻击最方便的方法就是验证Referer值。让我们回到上面说的那个例子来:银行对转账请求验证Referer值,当发现Referer值不是来自银行自己的网站时,将会拒绝转账的请求,以保证账户的安全。说到这里,聪明的你是不是隐约觉得有些不对头了?是的。如果Referer值被伪装成银行网站的话,那转账请求就会被通过,你账户里的钱就会变成黑客的囊中之物。因为Referer值是由浏览器提供的,使用验证 Referer 值的方法防御CSRF攻击,其实就是把安全性都依赖于浏览器来保障。当你使用的浏览器,Referer值能被随意更改,你对自己钱包的归属还那么有信心吗?与HTTP Referer一同被360搞得“不明不白”的还有User-Agent。所谓User-Agent,简单的说就是客户端浏览器等应用程序使用的一种特殊的网络协议,在每次浏览器进行HTTP请求时发送到服务器,服务器就知道了用户是使用什么浏览器来访问。若想知道当前浏览器的User Agent信息,大家可以在地址栏直接输入 javascript:alert(navigator.userAgent); 回车即可看到。目前360浏览器会频繁更改自身的User Agent,伪装成苹果safari或微软IE。此举不仅导致网站不能正确识别用户,而且还使得许多网站的页面因为对浏览器识别错误而呈现错乱。正常显示的360浏览器UA信息有“360SE”字样不定期伪装成IE9或者Safari的360浏览器360在用户正常使用浏览器时将这些参数不经许可就更来改去,甚至移花接木,包藏什么祸心我们不得而知。但数字公司视用户为禁脔的行径无疑正愈演愈烈,不仅是记录访问数据窥私窃密,而且意图“绑架”用户为肉鸡。为了自己的安全,我们是时候做出选择了!刚才忘记添加原文网址了原文网址:http://bbs.shendu.com/thread-2218175-1-1.html

再次推荐ant+hudson

上次推荐在《强势推荐ANT小蚂蚁》中提到使用ant可以完成同步svn代码、编译代码、打包代码、上传、部署的功能。这次再次将ant的功能提升一下,加入hudson持续集成引擎,将我们的程序化的工作更加的自动化完成。 Hudson 是一个可扩展的持续集成引擎,更多的信息可以下面网址。http://www.oschina.net/p/hudsonhttp://hudson-ci.org/ 配置使用步骤基本界面 我使用的Hudson的版本是2.2.1,已经有3.0.0RC的版本出来了,我求稳定,还是使用2.2.1,下载下来是个war,直接扔到tomcat下面就可以了。界面有中文,不过还没有实现全部的I18N,还有部分的英文,基本都认识的,不用担心。 基本界面如上,可以看到我有成功,也有失败的记录,我们的劳动总算是有记录了。建立构建工程 选择新建任务 我这里选择_自由风格_,根据项目实际情况选择。配置ant和任务调度 在任务配置界面中,因为我在ant脚本中已经写好了svn的信息,所以在这里就不配置版本管理了,只配置ant和任务调度两个。 在ant的配置中,只要你把ant脚本文件build.xml放在_C:.hudsonjobsTEST_下面,hudson就可以执行ant脚本了,当前在target中要配置了,在target中每行可以写一个执行的目标。 在_Build Triggers_中,我选择_Build periodically_,表示定时执行,需要写调度表达式。> ##### 调度表达式资料:Schedule的配置规则是有5个空格隔开的字符组成,从左到右分别代表:分 时 天 月 年,*代表所有。 例如:0 9 * * * 表示在任何年任何月的任何天的9点的0分4. 构建工程 可以可以选择_立刻构建_或者等定时任务就可以开始构建工程了,在Hudson可以查看执行的日志和最后的结果。看到_BUILD SUCCESSFUL_就说明,你成功了,恭喜!Hudson下载地址

MySQL数据库出错:Table is marked as crashed and should be repaired

使用mysql时,发生的错误 Table is marked as crashed and should be repaired。解决办法:用“REPAIR TABLE tablename;”命令修复。简单好用!还有其他办法,就不多说了。原因:有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说 法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能 导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。来一曲古风版的最炫民族风,民族乐器演奏出来果然不一般啊!

更改mysql默认引擎为Innodb

mysql默认是关闭InnoDB存储引擎的使用的,将InnoDB设置为默认的引擎如下。 1. 查看mysql存储引擎情况: mysql>show engines。 InnoDB | YES,说明此mysql数据库服务器支持InnoDB引擎。 2. 设置InnoDB为默认引擎:在配置文件my.ini中的 [mysqld] 下面加入default-storage-engine=INNODB 3. 重启mysql服务器 4. 登录mysql数据库,mysql>show engines。如果出现 InnoDB |DEFAULT,则表示设置InnoDB为默认引擎成功。听一曲歌来听听,挺喜欢的歌手万晓利的。走过来,走过去!

这个地方漂亮啊!

这个地方漂亮啊!

我是一个病人

我是一个病人我常常会觉得天很昏暗 地球在摇晃眼前失去阳光的色彩我是多么的疲惫不止躯体 包括心灵病痛折磨的要死我并不畏惧死亡 只是放不下我的责任从一个世界走向另一个世界我无从选择我是一个病人 更是一个无可救药的人灵魂的死亡远比着肉体的朽腐可怕的多一个病人在岁月的孤冢中还将残活下去