UTF-8、HTTPS原来都是浮云/兼谈新款手机

王志勇 发表于 2018年09月23日 11:18

关于UTF-8
在某种特定环境下,我需要登录Gmail、Adsense的页面、查询网站的收录数,现在唯一能登录的方法只有用远程的Linux VPS主机,用VNC连接远程桌面,因为从今年开始17(隔开)23端(隔开)口在国内被封(隔开)锁,自建的威(隔开)P(隔开)N都已经全部失效,XP系统下又无法用SS。

此时的问题是,英文版的CentOS系统+火狐浏览器,访问所有的UTF-8网页,如果有中文字符,依然显示乱码,乱码如下截图。(这个Linux版的火狐浏览器能修改编码为中文,可是修改之后浏览器会彻底死机。)

过去,大家都知道UTF-8是国际编码,理论上即使系统、浏览器没有安装相应的编码,也能正常显示各国的字符。以前我用了差不多六、七年的英文版XP系统,记得当时系统没有额外安装中文包,自带的英文版IE6,都可以正常浏览UTF-8的网页。可见,出现这种问题是Linux版火狐浏览器的bug。

由于这个bug的出现,那么国外的英文版、非中文版的手机,自带的浏览器、或者手机安装的其它浏览器,访问utf-8的中文网页,是否同样有可能显示乱码呢?是有可能的。

这个例子,说明UTF-8并非是真正的国际通用编码

多年来,我也一直在utf-8和gb2312之间抗争,因为在数据库里,中文或全角字符utf-8会占用3个字符,gb2312(或gbk,都是ANSI 936编码)占用2个字符。理论上,在高并发时,gb2312的效率是utf-8的1.X~1.5倍。当时在程序作品里放弃gb2312而用utf-8的原因,只是因为别人都用utf-8,utf-8似乎看起来更专业的样子,仅此而已。

如今在新的网页项目里,同时有英文、中文版,且是潜在的流量型,我尝试采用utf-8和gb2312同时使用。运用$aa=iconv('UTF-8','GB2312//IGNORE',$aa);这个函数来自动实现两种编码的互相转换。用户看到的网页,英文版会自动变成utf-8,中文版自动变为gb2312或gbk。

关于HTTPS
如前所写,HTTP/HTTPS密码防止泄密的新方案HTML完全可以在用户提交密码前,通过JavaScript对这个密码进行类似md5加密,或者最好自创加密规则,用户输入明文密码A的这个<input>一定要放在<form></form>之外,这样不会被截获,因为它不发送。JavaScript将密码A经过加密,用document.all.password.value='……';这样的方式复制给<form></form>里的一个隐藏的<input>,服务器再将这个加密过的密码做相应的还原。

由于加密规则只有开发者知道,经过加密的数据即使不幸被截获,也是永远无法被逆向还原的。经过一次加密,已经无法被还原。

这个方案已经在我的程序里完成,我在程序里做了3-5次加密。

有了这种加密方式,HTTP实现了和HTTPS相同的安全功能。有这种显而易见的HTTPS方式仍然不安全:网站启用了HTTPS,但数据库里依然记录明文密码。

可见,HTTP在HTTPS安全性方面的不同,主要在于用户发送时的数据不同。而服务器是储存明文密码,还是经过加密的密码,则与HTTP、HTTPS无关,是否安全取决于网站的程序设计。

所以,如今HTTP并非想象中的不安全,HTTPS也并非想象中的安全。HTTPS会损失一定的服务器性能。另外,HTTPS免费的几乎没有,直接在主机上安装Linux系统“自带”的SSL,用户访问时还是会有个安全警告提示。收费版的SSL,价格远超过了网站自身的域名、主机。网络里大力推行SSL,是不是有SSL销售商在做推手?

当然,并不是说使用这些产品不好,有很多人的确很需要这些。这里想说的是,如果没有这些产品,依然能够对运转没有任何影响的情况。就像别人都用utf-8,自己也要用才跟得上潮流;别人都用https,自己也要用才不会落后;别人都用iPhone,自己也要用才不会落后等等。

记得2005年、2006年的时候,ASP是我的主力开发语言,我还在投入大量精力开发ASP。当时计算机系的朋友只因为这一点,直接说我外行,于是不得已投入了JSP。然而,后来发现最佳的web语言是PHP,它比ASP、JSP的语法都简单易读。

合适自己的,才是最好的。

顺便说一下iPhone和高版本安卓
如果您是业内的设计师、程序开发者,使用iPhone,我很尊敬您,因为技术人员是最理性的消费者。iPhone在过去几年流行,有几个很重要的原因,一是拍照效果很好(几乎和专业的家用佳能相机效果一样),二是流畅,三是很酷(价格高的效应),四是周围人都在用。但缺点,一是系统封闭,二是价格太高。

前几天有人问,现在同样的价格,是买iPhone 6s,还是华为P20?iPhone 6s是两三年前苹果发布的最高端手机,如今的性能相当于国产的安卓千元机型。因此,当然是华为P20的性价比比iPhone 6s高。华为P20我没有用过,没试过它的拍照效果,但是几年前的OPPO A59S(我家人在用,真八核)的拍照效果和iPhone基本一样。华为P20的配置参数比OPPO A59S高。

而专业的家用佳能相机,2003年时佳能最高端的是A60、A80,价格分别为2000元、3000元人民币,如今比A60、A80配置高得多的佳能新款相机,价格在400~1000元的型号比比皆是。为了便于无线传输,数码相机与安卓系统融合,是必然趋势,像三星GC100、三星WB50F、S800c都是好几年前的产品了,但是拍出来的效果都是在iPhone所有机型之上的,它们价格比佳能贵不少,但是和佳能效果差不多,仅仅是多了个安卓系统。

安卓相机可以通过蓝牙、或ES文件管理器(可在安卓2.3系统或以上运行)来无线传输文件。因为这十几年里,现有的数码相机通过数据线来传照片,已变得严重落后、渐渐变得不科学了,因为数据口寿命很有限,很多数码相机一插数据线就会充电,对锂电池有一定的损害。因此,无线传输应该尽快在数码相机里全面落实。

今年又是手机大降价的一年。3+32、4+64配置的机型,前两年的价格在1500、1900元以上,现在6XX~9XX就能买到。这样的一个手机,如果自身的拍照效果好,那么已经足够用了。如果拍照效果不好,再配一个安卓数码相机,完全实现了苹果手机的功能。

高版本安卓
现在在售的手机,如果是一两年前的库存货,最低是安卓5.1,新手机都是安卓6、安卓8了。如果是安装微信、支付宝等常用APP,这些安卓版本感觉不到多少区别,甚至和安卓4.3、4.4一样,只是界面变酷了一点。系统的变化,多数人应用不到。
从安卓4.3、安卓4.4开始,流畅度的确有了不少提升。

但如果您对Root要求较高,那么目前最后的一个版本是安卓4.4,或安卓5.1。安卓6.0以上,已经无法Root。对于习惯Root手机的用户,使用这些高版本安卓的手机,需要一个适应的过程。无法Root,可能手机的安全性会提升一些,但是功能少了。

对于只有Root才能运行的软件,则必须选一台安卓4.4的手机。安卓5.1还有部分机型能Root,有的机型Root之后再重启,会自动删除Root软件

厂家之所以封杀Root,可能是为了减少返修率。但对于需要Root的用户,造成了很大的不便。最基本的,Root Explorer等文件管理软件,无法操作系统文件,无法更换/system/media的内置铃声文件。

手机容量,一般的应用,微信、支付宝、淘宝,1+8G目前是足够用的,更不用说3+32、4+64的配置。很多人纠结买32G、64G,还是128G、256G的iPhone?手机不是用来存储大量数据的,因为手机可能会丢,手机的闪存随时会坏。实际的应用中,手机的闪存寿命可能远低于机械硬盘,因此需要及时把手机里的数据挪到硬盘,重要数据做双重备份。

安卓手机的品牌,现在较多人用华为、OPPO、VIVO等等,对于外形、上档次、炫酷有需求,选这些完全没问题,三星手机现在似乎使用的人少了,可能是由于前年三星Note手机电池爆炸。(受这个事件的影响,从那时起,全球的TF、SSD闪存、内存条都涨了一倍,直到现在2年多才刚刚回落到当时的价格)

但也有明智的人,会选择小众的良好品牌,它们和那些热销的品牌其实很多是一样的、甚至更好用,价格便宜了一半以上。不推荐中(隔开)兴、酷(隔开)派,因为有多个机型,即使是现在较新的型号,都会偷发短信。

我喜欢海信手机,家里有台HiSense的冰箱用了9年,没想到海信手机是难得的国产良心之作,主要是它大部分机型都能三键强刷机,自带来电防火墙,用来上网绝对很好用,唯一的缺点是一些机型的拍照差一些。安卓4.4以前的海信手机很好用,但是自从安卓5.1之后就没有优势了,因为安卓5.1之后的刷机包,体积到了1.7G,容易刷机变真砖。

高版本的安卓手机,由于刷机包太大,刷机风险很大。800M以内的刷机包,都能安全刷机。

0条评论:

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

王志勇:1980-09-26 (38周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2018年12月
2018年11月(30)
2018年10月(30)
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2018 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue