为什么我讨厌引用第三方 Javascript 的网站

很多网站都喜欢在自己网站里面用到其它网站提供的第三方 javascript 库,比如 jQuery,为什么?因为有些老的教程告诉他:

  1. 第三方镜像网站做了CDN,速度访问会比较快。
  2. 用户很可能已经通过其它也是引用了那个 JS 的另外一个网站访问过它了,再次访问它的时候速度就更快了
  3. 节省自己的带宽流量
  4. 浏览器和服务端都有同一域名下的资源访问并发限制,引用其它网站的 JS 就可以规避这个问题

可我不是很认可以上的理由,因为:

  1. 你的网站的可用性打了折扣,因为使用第三方 JS库,用户需要正常访问你的网站,同时他还必须要能够访问那个第三方网站才行。而当用户只是无法访问那个第三方网站的话,你的网站是挂了(视具体功能而定),而且你几乎还无能为力(有信心那么快修改所有页面里面的引用代码吗?)。
  2. 也许用第三方静态资源会使得用户加载速度快点,但没有那么明显,并且也不是决定性因素。静态资源的加载本来就快,如果你的网站不是放在特别垃圾的线路,这并不会是什么问题。影响网站速度的还是动态内容这部分。
  3. 流量也不重要,如果你的网站本来流量就小,自己提供那些静态资源和用外部引用的区别不大;如果你的网站流量大,那是好事,意味着流量成本绝不是你该头疼的事情。
  4. 不安全,引用的外置 JS可能会被劫持,就像百度的被劫持用作攻击 Github 了一样。
  5. 隐私保护。第三方网站可以借此跟踪用户,也可以拿走本该只属于你自己的网站访问统计信息。
  6. 自己弄几个专门分发静态资源的站点同样更容易解决同源加载的问题。

貌似被 GFW 认证了

最近这段时间在自己 VPS 上面搭建的 PPTP VPN 连接每过几分钟都会中断,试验了下,发现是 1723 端口每隔一段时间都会被屏蔽。
这应该就是 GFW 在屏蔽 VPN 吧,也许我该换个 IP 地址了(我不想换做用别的类型 VPN,因为 PPTP 的客户端是最容易的,基本上任何 OS 上面都是内置支持的)。
最后我想说:真鸡巴恶心,肏你妈屄的,早点去死吧!

也谈 12306 泄密

12306 官方把这次密码泄露事件推给了第三方刷票工具,但也有安全专家把原因归结为“撞库”。
但我认为在这次事件中,12306 是负有责任的:
1、已订票单过于容易被取消。事实上就是登录进去账号之后点几下就能把订单给取消了,完全没有进行身份验证——比如短信形式的二次验证。
2、www.12306.cn 是一个反人类的网站,变相在鼓励用户使用第三方工具。我之前已经说过这个垃圾网站有多恶心。不管这次密码泄露是第三方工具还是“撞库”,这都应该给 12306 和用户敲响警钟,12306 应该认真考虑做个可用的网站出来,而用户也该意识到使用第三方工具的风险。
3、12306 没有任何措施保护已经失窃的账号。如果我没有理解错的话,12306 不是一个普通的商业网站,是依靠税收建立的,意味着其实每个公民都有“投资”,但是结果是 12306 这帮人对“投资人”都没有一丁点责任心,至少你应当可以把那些账号锁定,要求用户以其它更安全的方式验证身份后解锁。(当然我不是在说商业网站在这种情况下就应该撒手不管)。结果呢?就是有用户被他人给退票了。
总而言之,12306 就是个只会推卸责任,没有一点安全意识的人在管理。你要是以前不懂,但俗话说得好“吃一堑,长一智”,以后也该聪明点了,但是现在我看不出它有任何改进。

Fuck Google Fonts

不是因为 Google 在国内被屏蔽而导致诸多网站加载 Web Fonts 或者 JQuery 缓慢。

让自己的网站去调用第三方网站的东西,本来就是个傻逼主意。说实话吧,自己的网站上放个压缩的 JQuery 或者字体能有个多大的事?!别说用第三方的能省流量、加载速度,事实是这些都是极其小的影响。既然都喜欢让 Google 通过 js 去知道你的网站访问情况,干脆你不就把网站全交给 Google 算了!

Cloudflare universal SSL

Cloudflare 最近宣布的 universal SSL 对免费用户也开放,这真的是个不错的功能,即便很多人不相信 Cloudflare,认为这是史上最大的中间人攻击,但是既然都用了 CDN,你还能去想那么多么?我认为这个功能对于个人或其它非关键站点来说还是很实用的,个人而言,主要是看中了一点——使用 CDN 还可以隐藏自己的服务器地址,避免一些信息的泄露。

但是不得不说下,Cloudflare 那头颁发证书的速度实在是太慢了,虽然原因很明显——有很多站点要逐个颁发,但。。。还是未免也太慢了点,只能先暂停掉了。

12306 网站究竟是有多傻逼?(2)

有必要继续说下12306网站的傻逼性:

  • 傻逼式的排队系统,浪费人的时间,从来没听说过有人排队排到过的,所以后来我也是一看到这傻逼玩意,马上退出了。我不知道网站设计者是怎么想的,是想用这个办法让一部分人卡住,降低刷票率么?我只能说这是个傻逼设计的
  • 好了,我退出排队了,但一回到订票的那个页面,我CNM!之前的那些“时间、车次、站点”等过滤选项都被清除。于是我又要手工重新选定。这个问题在你以为那个“有票”就真的代表有票的时候,被骗了进来,点击提交,就直接告诉你余票为0,你不得不返回的时候也存在。再次问候12306的人:CNM!
  • 不准用户使用的浏览器自动记住密码,而自动把用户不知不觉登出的时候(或者之前)也没有提醒。于是在被这傻逼网站自动把你登出后,你点击预定的时候才发现,又必须要重新输入账号名、密码、验证码。再次登陆进来后,一张票都没有了。

其余的比如像那个自动对验证码进行校验的功能写得傻逼,足以导致浏览器卡死等傻逼性就不一一多说了。总而言之,12306就是一个人类使用起来极其困难的网站(不管有意还是说设计者本来就这么傻逼)。而人类使用起来极其困难的结果是什么呢?那就是那些自动化工具对它的使用效率远远高于人类,因为程序不会受到它这些傻逼特性的影响。所以从12306说他为屏蔽机器刷票做了努力,都是屁话!

最近还有个傻逼知乎帖子在说12306有多牛逼,我觉得还是算了吧,就这个集齐万千傻逼于一身的网站你能让我相信它还能算作牛逼的地方?这破网站的缓存问题还有得是改进的余地。

12306 网站究竟是有多傻逼?

在标题里面就说粗话实在不是个好行为,但是12306这个傻逼网站确实让我火大。

不是人尽皆知的实际买票的问题,而是我从来就没有弄明白过设计网站的那些傻逼怎么会觉得自己弄个证书会比花点小钱去买个证书,这样所有人都不用去手动安装证书,而且浏览器也不会屏蔽你要好?还有个问题就是这个傻逼网站的密码策略,我要送给做这个网站的人“操你妈逼”这四个字,一个像“=UE(Ksr+%GK5”这样的随机密码,你跟我提示“密码强度太弱,必须包含字母,数字,下划线中的两种或两种以上!

究竟是要怎样的傻逼才可以设计出这样的网站?!

SB