本博客文章已转移到独立博客,请点击做最好的三三查看全文。
3
17
2013
5

我从未想过Google Reader会被关闭

虽然我不用Google Reader,但是我明白这是一个不可多得的好工具。

从QQ邮箱订阅中看到古奥连续PO出一大堆挽回的GR的新闻,小众,月光,我所订阅的一切科技博客无不在重复这个主题。

Google Reader都要被关闭了。这个事实大概是目前为止Google关闭的服务中最重量的一个吧。

我从未想过Google Reader会被关闭。

我从来都觉得,GR和Gmail,甚至Google Search本体一样重要。因此,Google关闭它完全出乎我的意料。

当然,这好像提醒了我什么。

嗯,对。任何一个互联网服务——甚至线下的服务,无论是收费抑或免费,终究有走向终结的那一天。服务不贵,数据最贵。放在Google,或者放在其它什么地方的数据终究没有放在自己硬盘上来得放心。

之前,我的观念并不是这样子。我觉得,我的文章,我的思想和我的数据的全部,都应该放到大公司的托管下——这样,我的思想才会得以保存起来,在我无暇管理它之后也是那样。但是,我从未想过,这些托管的服务本身都是不那么靠谱的。

嘛。大约从现在开始我会慢慢的把博客搬去某个地方的Typecho吧。嗯,基于思想的传承的观点,我决定还是把博文同步到某些BSP上去。

Google Reader已死。

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: google Google Reader
3
3
2013
7

Evernote账户信息泄漏 - 谁动了我的帐号

今天收到一封来自Evernote的邮件,其中部分内容如下(原文截图):

亲爱的Evernote International用户,

Evernote运营和安全团队最近发现并成功阻止了一项针对Evernote网络的可疑活动,该活动可能试图有组织的接入Evernote服务的安全区 域。为预防未来的潜在数据隐患,我们决定请求所有用户进行一次密码重置。请阅读以下内容了解详情和步骤。

通过一次全面仔细的检查,我们未发现任何迹象表明你保存在Evernote中的任何内容被访问过、修改过或丢失。Evernote高级帐户的付款信息和Evernote企业帐户也没有任何被访问过的迹象。

但是检查显示,参与这次可疑活动的人员能够访问到Evernote的用户信息,包括与Evernote帐户关联的用户名、邮箱地址和加密过后的密码密文。 尽管密码密文有可能被访问,但请特别注意,保存在Evernote中的所有帐户密码密文均采用不可逆的单向加密算法(one-way encryption)生成。(用专业术语表示,即所有密码密文都是经过哈希算法处理并随机生成(hashed and salted))

从CSDN密码泄漏门,到Twitter用户密码被重置,直到这次Evernote也不幸中枪。一次又一次的针对互联网帐号的攻击事件频频发生,各大服务运营商中枪,就连推特、Evernote这样的服务也在所难免。难道我们的互联网帐号信息已经不再安全了吗?

现阶段,主流的密码加密方式即上文中提到的“hashed and salted”(哈希加盐)法。这种方法由于是单向加密,而且对密码加入了随机字符串salt,安全系数大大提高。但随着硬件的发展,要破解哈希加盐也不是很困难的事情。攻击者通过构建大型彩虹表,有一定几率来破解经过单向加密的密文。

但需要提到的是,对密码进行加密存储是用户信息安全的「最后一根稻草」。因为破解加密存储是在黑客拿到用户数据库后才可以进行的操作,假若用户数据库足够安全,只要数据库不被泄漏,那么即便是明文存储也不会有太大的风险。这并不是说被hacker攻击的twitter和Evernote做的不够好,因为在这么多年来,在数千万甚至数亿、十亿数量级的攻击下,这种事情也只发生过少数的几次。

话又说回来,最近这种事情发生的几率正在逐步攀升。不知道是现在的hacker技术变得更加高明了呢,还是现在的firewall已经无法阻止hacker前进的脚步了。

那么,作为个人用户,我们要怎样从个人角度来防止这些事件的发生呢?只有降低用户资料的价值,才能从根本上减少事件发生后的损失。作为用户,你的资料的价值是什么?对于一个网络服务来说,你的资料意味着你的用户名、密码和电子邮件地址。如果你所有的网上服务包括网银、电商、电邮、公司办公系统都是用的同一个密码,你的资料的价值无疑会很高;如果所有的服务使用不同的密码组合,那么,资料的价值就会降低到仅有的被攻击的服务那一个帐号。所以,最终的防范秘诀就是:使用密码管理方案。

密码管理方案有很多种,比如花密,LastPass都是很好的选择,这里要介绍的不是那些记录密码的工具,或者像花密那样的base+salt的方式——毕竟有时候需要离开他们——而是一种便于记忆的管理的方案。我称之为分级管理模式。

一个完善的密码系统,应该包括至少三个级别:

低级密码,即「用一次就丢」的密码。这样的密码最好还搭配一个另外的用户名,以满足各种「一次性」的帐号需求。这种密码只需要有一个,然后在各个小网站、不确定安全性的网站和用一次就丢的网站使用。

高级密码,即「相当重要」的密码。这类密码不要和你已有的密码雷同,而是采用全新的组合,最好是包括大小写字母符号数字等,用于独立的重要服务,例如电邮、IM工具(QQ、MSN等)和财务(电商、网银等)。

最多最常用的密码,也就是「不是相当重要也不是用一次就丢」的中级密码。这样的密码是使用最为频繁、又有一定价值的。如果让所有的这类中级网站共用一个密码,也不是一个好的方法:黑客仍然可以通过获取其中一个来得到其它的。或许有人会想到一串固定字符加上网站的主域名,我只能说黑客也一眼就能看出来你的密码中有个域名从而破解。这里介绍一种思路,或许会对你的密码有帮助。

这种思路的灵感是从md5来的。md5是一种「摘要」算法,那么我们也可以将域名的所谓「摘要」放到密码中去。这么说还不明白的话,看一个简单的例子。比如对「Google」的域名,我们可以摘它的最后一位「e」,然后放到密码中的某一位。比如密码的基准是「BestWishesTo」,我把摘要字母放到最后一位并大写,也就是「BestWishesToE」,这样的话即使是得到密码的黑客也不会知道你其它网站的密码——除非它最后一位也是E。如果觉得还不够安全的话,可以继续摘录并进行适当的运算。比如摘「Google」的第一位「G」,在字母表上将他往后挪动3位变成「J」然后小写放到刚刚密码的最后面,加入「Google」这个单词的长度6放到第一位,成为「6BestWishesToEj」,这样还看得出来你的密码的本来面目吗?除非还有一个网站叫「Gxxxxe」,否则你的密码也不会被用到其它网站上去——这样的可能性不是很大,而且你会在一个叫做「Geoeoe」的网站用上你的中级密码吗?

这样一来,帐号丢失所损失的价值就减少了不少。当一个网站的密码被盗时,并不会牵连到太多的网站。

另外,加强自己的帐号保护意识,对电脑定期杀毒(其实有点扯,主要是防键盘记录类的木马神马的),并且在输入帐号的时候注意网站是否安全(检查网站域名、检查https等)就好了。这样一来,即使是某个网站被爆出使用明文存储密码而且数据库被大量泄漏的话,你也可以安然不动,笑看众人疯狂改密码了。(完,本文由oott123纯原创,转载请保留出处。)

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: 安全 密码 evernote
12
25
2012
11

百度开发者中心BAE服务收费通知——又一个免费服务的终结

都打算睡觉了,邮箱收到噩耗:

尊敬的开发者,您好, 为了给您提供更加简单可依赖的应用托管服务,防止资源的恶意滥用,百度开发者中心计划于2012年12月25日起,对BAE(百度应用引擎)进行收费。

不过,BAE这次收费不是完全开始收费,还是有一些免费额度的。

具体邮件如下:

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: bae 免费
12
8
2012
8

Google Apps 客户通知——只有免费,没有永久免费

从今天起,我们不再接受 Google Apps 免费版本(即您当前正在使用的版本)的新帐户注册申请。由于您已经是我们的客户,因此这一更改不会对您的服务产生影响,您可以继续免费使用 Google Apps。

 

Google Apps曾是最受欢迎的免费企业邮箱之一。从一开始的自由服务,提供登录页面和最大用户数目为2000的企业邮箱,到后来取消了登录页面,但是保留了2000用户,然后在09年的时候取消了初始页,也没有了2000用户,变50了。

当年的截图:(2000个用户的样子)

当年的域名1314.fr.cr和2323043.cn呢……有点怀念的感觉。

是2000个用户,很不错的样子,有初始页,各种功能很开放……然后……到了09年的时候,我再申请,已经没有办法申请到2000个用户了。

免费的服务质量终究要降低吧……Google毕竟是商业机构,不是慈善机构嘛……50个用户其实也很够的样子。然而今天……

好吧,好在之前申请的还能用……

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: google 免费 企业邮箱
9
5
2012
0

【友情提醒】DiscuzX2.5 R20120901 切勿轻易升级!

昨天我登录卡院的后台,发现DZX2.5出了个更新。出于习惯我备份了数据库和文件,然后直接关闭网站进行后台更新了。可是这次更新并不顺利。

首先我更新到一半就无法下载/source/language/admincp.lang.php(印象中是这样的)这个文件。处于无奈我就手动更新了一下dzx。更新过程没有任何问题,后台显示为20120901版本,我就放心的打开论坛了。

但是晚上就有很多用户给我反馈说回帖的时候显示内部错误,没法显示帖子;充值卡的地方验证码输入不了等问题。我上DiscuzX官方论坛看了一眼,好像问题还不止这些。因为没更新数据库,所以我连忙把文件直接还原了。还原以后一切正常,卡院也算恢复了。

嘛。下次更新的话,一定要先去DiscuzX论坛里面看看bug反馈啥的……不然伤不起啊!

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: Discuz
8
9
2012
0

豆瓣XSS?myid.cn域名绑定至任意页面

http://www.douban.com/link2?url=http%3A//best33.com

不解释。

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: xss 豆瓣 myid.cn
7
28
2012
6

疑难杂症+乱七八糟的论坛手札

这几天一直在忙这个该死的DiscuzX搭建的卡院论坛,乱七八糟的事情好多好多……所以都没能更新博客个说。

于是今天有空上来写写遇到的一些琐碎的事情。

首先是免费CDN。本来我用的是Incapsula的CDN系统,只需要更新cname的那个。后来ivmm说Cloudflare更好,于是我就去换了CloudFlare。结果呢?……我自己测试结果,感觉速度一般般,和Incapsula差不多,会员们不乐意了,在群里翻腾说连不上。找了一两个典型用户让他们协助测试,结果CloudFlare很多地方没法访问到ns。虽然可以替换NS,但是懒得折腾了。

然后就是“个性签名”不显示的问题。这个大部分DZX用户可能没有碰到过,但是我确实碰到这种诡异的问题,用户中心无法修改个性签名。百度了很多,就是没有解决办法。偶然翻到“用户栏目”这个管理项目才发现不知道什么时候用户栏目中的“个性签名”被我取消掉了。于是勾上,修复完毕。

最后……我在写论坛管理方案,于是又是很久不能更新博客个说……

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
7
22
2012
4

innerTEXT,outerHTML,outerTEXT和firefox

Firefox 不支持 DOM 对象的 outerHTML innerText outerText 属性……这是个一直困扰大家(包括我)很久的问题,网上也有不少的解决方法,这里摘录如下,收藏备用。(源链接:http://www.w3help.org/zh-cn/causes/SD9017)

解决方案

在 Firefox 中,可通过扩展 HTMLElement 的原型 (prototype) 来实现相关属性。

  1. 扩展 Firefox 中 DOM 元素的 outerHTML 属性:
    if (typeof(HTMLElement) != "undefined") {
       HTMLElement.prototype.__defineSetter__("outerHTML", function(s) {
            var r = this.ownerDocument.createRange();
            r.setStartBefore(this);
            var df = r.createContextualFragment(s);
            this.parentNode.replaceChild(df, this);
            return s;
        });
       HTMLElement.prototype.__defineGetter__("outerHTML", function(){
            var a = this.attributes, str = "<" + this.tagName, i = 0;
            for (; i < a.length; i++)
                if (a[i].specified)
                    str += " " + a[i].name + '="' + a[i].value + '"';
            if (!this.canHaveChildren)
                return str + " />";
            return str + ">" + this.innerHTML + "</" + this.tagName + ">";
        });
    
        HTMLElement.prototype.__defineGetter__("canHaveChildren", function(){
            return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase());
        });
    }
  2. 扩展 Firefox 中 DOM 元素的 innerText 属性:
    if (!!document.getBoxObjectFor || window.mozInnerScreenX != null) {
        HTMLElement.prototype.__defineSetter__("innerText", function(sText) {
            var parsedText = document.createTextNode(sText);
            this.innerHTML = "";
            this.appendChild(parsedText);
            return parsedText;
        });
        HTMLElement.prototype.__defineGetter__("innerText", function() {
            var r = this.ownerDocument.createRange();
            r.selectNodeContents(this);
            return r.toString();
        });
    }
  3. 扩展 Firefox 中 DOM 元素的 outerText 属性:
    if (!!document.getBoxObjectFor || window.mozInnerScreenX != null) {
        HTMLElement.prototype.__defineSetter__("outerText", function(sText) {
            var parsedText = document.createTextNode(sText);
            this.parentNode.replaceChild(parsedText, this);
            return parsedText;
        });
        HTMLElement.prototype.__defineGetter__("outerText", function() {
            var r = this.ownerDocument.createRange();
            r.selectNodeContents(this);
            return r.toString();
        });
    }
本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: html js firefox
7
17
2012
22

蜘蛛我求您了别来爬了……

昨天卡院的Incapsula的周报来了,一看流量我吓了一跳:2.1G!作为一个小型论坛,这个数字是很不正常的。于是登录Incapsula来到控制面板,发现80%的流量都是搜索引擎蜘蛛产生的!

这个论坛是《龙族》主题论坛,因为书里面提到过,所以基本没有搜索引擎流量,而是手动输入/书签为多。所以我来到了Incapsula的控制面板,屏蔽了大部分蜘蛛:

屏蔽没用的蜘蛛流量

目前的卡院服务器只有10G的流量,Incapsula也只有寥寥50个G而已,所以……蜘蛛啊,您就别爬了,行不?

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: php cdn SEO
6
30
2012
2

simsimi小黄鸡【非官方API】

simsimi想必大家都知道吧,那个小黄鸡,那只小贱鸡……

呃,刚好在做一个聊天机器人,于是就去Firebug查了一下simsimi的调用方法。

其实很简单的一个接口,返回的是json格式。接口如下:

http://www.simsimi.com/func/req?lc={语言,中文为zh}&msg={utf-8编码的请求文字}

嘛,如果成功了,返回一个有内容的数组;如果失败返回一个{}。PHP调用代码内详。

PHP代码如下:

function simsimi($q){
	//simsimi 非官方API接口
	//by.oott123  http://best33.com
	//参数:$q(欲获取的问题) 返回:(mixed)返回结果,为false则失败
	$json=file_get_contents('http://www.simsimi.com/func/req?lc=zh&msg='.urlencode($q));
	$this->maindb->debug($json);
	$json=json_decode($json,1);
	$this->maindb->debug('Array',$json);
	if(isset($json['sentence_resp'])){
		$reply=$json['sentence_resp'];
		return $reply;
	}
	return false;
}

嗯,调用方法上面也写了,就是这样~喵~

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: WEB | Tags: simsimi REST api json php

Host by is-Programmer.com

Power by Chito 1.3.1 beta

| Theme: Aeros 2.0 by TheBuckmaker.com