2018年08月的文档 16篇:     本月文档索引

干货分享6:HTTP/HTTPS密码防止泄密的新方案
2018年08月25日 10:20

在项目里准备用这个设计的新方案。现在各大网站越来越多地使用HTTPS,使用HTTPS主要是防止密码被窃取。如果在登录时,就已经使用JavaScript经过一定的规则,将密码的<input>的值,经过加密,或者增加一些随机的乱码,即使此明文值被获取,也无法猜出实际的密码。经过这样的方案,HTTP/HTTPS的密码安全级别增加了很多。

示例:用户输入的密码是abc,加密后的post的密码可能是W9g#fyx@0t。

步骤提示:
登录提交时,在<form></form>内的所有表单都会被发送,因此用户输入密码的那个<input>框(如表单框A),要放置在<form></form>之外,这个“表单框A”需要写入<input name=aaa onkeyup=abc();>。自定义函数abc()的内容为:在<form></form>之内建立一个<input name=password>表单框B,并将这个表单框B隐藏。abc()这样写,function abc(){document.all.password.value='……';},其中省略号的内容为关键内容,是从document.all.aaa.value获取值后,然后给它改变规则、或增加乱码。

这样,由于表单A,即<input name=aaa onkeyup=abc();>这个表单是在<form></form>之外,所以提交时它不会被发送,发送的是经过加密的密码,即使被截获,也无法知道实际密码。

表单框B必须隐藏,因为如果不隐藏,用户会同时看到2个密码框,并且表单框B的密码是经过加密的密码,会比原密码长很多。

服务器端收到密码后,并不存储用户的实际明文密码,而将密码再次加密,有点类似于MD5加密,就像31+18=49,22+27=49这样,这个49的值即使是被恶意截取,也无法还原出原来的值(实际的规则比这个等式复杂得多)。实际上这个49的值是很难被截取的,因为如果网站是使用别人开发的公共程序,有一定的可能被攻破,但如果是全新开发的,通常被攻破的可能性无限接近于0。

经过这种加密的HTTP,理论上比没有这种加密的HTTPS还安全。

这种加密,由于只在客户端提交前做了加密,所以不会增加服务器的任何成本,增加的只是开发者的开发时间。

[2018-08-25 16:06]更新,再进阶一步

上面的表单框B,就是经过加密的客户端发送的密码,通常被截获的可能性很小,除非是一个项目到有名的程度,有人专门制作病毒,带有病毒的客户端可截获此表单。如本文在客户端的加密方法,即使截获,也很难解读、破解,完全解读、分析它至少要花费1~10年的时间,没有人会闲到做这种事。

这里再进一步加密,可将<form></form>之外的表单A这个明文密码(此密码如上所述,因为在form之外,不会发送,所以无法截获),经过在客户端加密之后,再将生成的加密之后的密码,拆分成2~4段,传给表单框B、表单框C、表单框D等等,这样更加提高安全等级。

服务器收到表单框B、C、D……的数据后,根据相应的规则重新合并、提取,再做服务器端的非明文的加密

有了这项方案,即使使用HTTP,也能安心地继续运营,因为对于流量大的站点,HTTPS确实较繁琐,高费用、影响效率。

[2018-08-26 10:47]更新:此方案今天已经在程序中完成。

固定链接 | 发表评论(3) | Trackback(3)

干货分享5:安卓手机阻止低电量关机的方法
2018年08月24日 21:52

本文只适用于使用直流连供的手机。由于项目的需要,我把多台安卓手机改成4.2V、24×365天直流供电,去掉了锂电池,免去了经常充电的烦恼。

大部分手机可以正常运行,电量一直恒定在92%、或100%等等。但有个别机型,虽然是直流连供,但是电量一直在掉,约1小时掉1%,其实电压是一直不变的,两三天后手机会因为电量低于15%而自动关机(其实是满电的),这可能是手机的程序在自动掉电量。在网上搜索,并各种尝试、调试,花费了3个小时,都失败了。

失败过程:
1. /sys/class/power_supply/battery/capacity 权限改为只读,也就是将此文件的权限改为444,失败,电量还是在掉。
2. /sys/class/power_supply/battery/uevent 权限改为只读,将此文件的权限改为444,失败,电量还是在掉。
3. 手写一个电量95的capacity文件,替换 /sys/class/power_supply/battery/capacity,失败,会很快自动关机,而且这个文件在手机重启后、或平时会被自动重新替换成现有的电量。
4. /sys/class/power_supply/battery 目录还有多个目录,好几个目录里也有uevent,这些uevent文件的权限都改为444,失败,电量还是在掉。
5. 网上有一个阻止低电量关机的APK,安装后,无法运行,失败。
6. 使用电池较准软件,无效,失败。

成功过程,方法很简单:
最后,尝试把 /sys/class/power_supply/battery 目录的权限改为444,意外的惊喜出现了!几秒钟后出现“电池检查异常”。这样,手机的电量不会再掉,手机不再自动关机。同时,也减少了/sys/class/power_supply/battery 目录被频繁写入数据,而延长手机闪存的寿命。

修改权限的方法有2种:shell命令,或者用Root Explorer 2.21.1。这两种方法,手机都必须事先Root。

方法1:
给安卓手机安装一个“Shell终端”,shell命令如:

su
chmod 444 /sys/class/power_supply/battery

第1行的su命令是切换到root用户。我使用的是方法1,因为同时间我还用shell命令实现别的功能。

方法2:
用Root Explorer 2.21.1,/sys/class/power_supply/battery 的目录的权限设置如下图:

至此,发现Android、Linux系统的权限,有一个很大的好处是能阻止某些程序的运行、数据访问,正如本文发现的方法,是通过暴力,阻止某个目录的写入来实现的

需要注意的是,手机重启后,/sys/class/power_supply/battery 的权限会自动恢复为755,需要再次使用方法1、或方法2。

固定链接 | 发表评论(0) | Trackback(0)

APP在迅速臃肿
2018年08月15日 13:04

感慨:如今国内的手机APP在迅速臃肿,积累了大量的冗余无效代码、冗余数据,包括手机支付宝、淘宝、微信、手机QQ、手机百度贴吧等等。总有一种这些开发团队混饭吃的感觉,尽管软件越来越臃肿难用,但是他们的发展却越来越好、业务规模越来越大,奇迹!

固定链接 | 发表评论(0) | Trackback(0)

学习=技术
2018年08月15日 07:23

学习=技术。学习本身就是一种技术,技术一旦掌握,往往很多时候想退步都不会退步,这是上天给我们的本能。

固定链接 | 发表评论(0) | Trackback(0)

《美丽的秘密》小感
2018年08月14日 17:30

1. 对关毅(何润东饰)佩服至极,15岁时被后妈赶出家,但凭自己的努力打拼,成为圈内顶尖的音乐制作人。演这部戏时他40周岁,依然很年轻,像20多岁,但比20多岁的人多了敏锐的魅力。前几集,谈吐很像周华健。
2. 关毅和美丽的感情几乎没有风波,完美的感情。
3. 故事里面有很多因果对错网友在讨论。徐若琳的自杀是不是姜美丽的错?所有自杀的人都是自己的错,与任何人无关。徐若琳的演员,弦子,好像出道非常早,86出生,在2001年左右我就听到弦子的歌。可惜在这部剧中演反面角色。
4. 因果对错:孙锦盛不应主张将小时候的美丽送人,汪璇不应为了嫁给富豪而产生送女儿的动机,美丽养母不应直接把捡到的孩子领养(应该上报公安),所以孩子还是属于汪璇的。

我很喜欢这类音乐制作题材的故事,尤其是原创制作类。也很喜欢现实中何润东的歌,是一位完美的歌手。这个电视剧,能让人去联想那种专注于创作的一丝不苟的场景,专心搞创作的人,其实都是这种经历和体验。现实中创作、开发的不一定是音乐,可以是任意领域的产品,但是那种专心是一样的。

固定链接 | 发表评论(0) | Trackback(0)

程序设计是一种高危的工作
2018年08月14日 07:36

程序设计是一种高工作强度、高注意力集中、高危的工作。高危,一是因为原计划大约3个小时内完成的任务,实际可能需要5~10倍的时间,也可能提前完成,时间完全不可预测;二是开发是很不舒适的事情,需要咬紧牙关、坚持,挺过最难的部分,每天都要做复杂的统筹、数学运算、大量的调试。但是程序设计带来的好处是:总是能实现需要的功能,当完成之后,一个机器就诞生了。程序设计90%以上都是数学运算,成品能实现很多不可思议的功能。只要有思路和需求,大部分功能都能实现。

固定链接 | 发表评论(0) | Trackback(0)

感慨:机会
2018年08月14日 06:31

很多机会都是自己发现和创造的,抓住了机会就会受益终身。往往很多机会的时效很短,错过了就很难弥补,过了这个村就没有这个店。

固定链接 | 发表评论(0) | Trackback(0)

干货分享2的后续:VPS发邮件
2018年08月13日 19:09

本文接《干货分享2:调试 - VPS发邮件显示“由root@localhost.localdomain代发”彻底解决》,当时调试了整整2天才完成。这两天又经过了很多的测试,取得了意外的进展。

用“干货分享2”建立的VPS邮件发送平台,没有经过SMTP验证,发件人、代发人名称一致,在国内的邮箱我测试了QQ邮箱、网易、新浪邮箱,都能收到,且只显示发件人,没有显示代发人。Gmail则直接进入垃圾箱,但也只显示发件人,不显示代发人。可能极少人用这个方法,因为这个方法是我测试中无意发现的,所以国内邮箱的开发者还没有遇到这种情形,是属于“漏洞”。但我的VPS发邮件,是用于发送注册的验证码,这是重要邮件。

(其实原计划是想通过验证SMTP来发邮件,但是所有的方法都无效。)

之后,同一VPS,每隔一段时间发送,都能100%发送。然后我测试每隔1分钟,甚至时间更短,也能发送。这说明,我的VPS可能没有对邮件的发送频率做出限制。

前两天的测试中,总是同一VPS、同一收件人,只能收到第一封信,后面再次发间隔几小时也收不到,当时误以为是VPS被限制了。其实,当时的收件人是用的腾讯企业邮箱,腾讯企业邮箱会这样拒收。收件人换成了国内的免费邮箱,能顺利发送,正好解决了一个重大的问题。

此方法发送邮件,网易、新浪免费邮箱接收最快,在5秒内,QQ免费邮箱约15秒左右才收到。

固定链接 | 发表评论(0) | Trackback(0)

安卓2.3.5能否用微信?
2018年08月13日 15:12

有网友问安卓2.3.5有哪个版本的微信能用?在一年多以前,安卓2.3.X还能运行微信5.X。但如今,安卓2.3.X已经完全不可能运行微信了。并不是硬件不支持,而是微信抛弃了这些用户。在五六年前,安卓2.3是当时的主流、最高版本系统。如今,微信的安装包越做越大。

为什么安卓2.3.X不能运行微信了?即使安装了微信5.X,会无法登录新用户,除非这台手机以前曾经登录过某个号码,就可以正常登录。例如现在的微信6.2、微信6.3.13,登录新用户时都会提示版本过低,无法登录,这是一年半以前的微信最高版本,解决的办法是先给手机安装微信6.5.3,登录之后,再重新安装微信6.2或6.3.13。在2013年的主流手机里,在安卓4.1.2系统下,现在运行微信6.2比微信6.3.13快大约30%,它们的区别是微信6.2不支持发朋友圈时分组,朋友圈分组是从微信6.3.13开始的。
手机刷机后,微信的用户信息会彻底丢失,需要再用微信6.5.3重新登录一次。

能登录新用户的微信最低版本是6.5.3,这个版本是2016年12月推出的。现在微信限制老版本的很多功能,微信版本低于6.5.3无法登录新用户。

微信6.5.3不能在安卓2.3.X安装,会提示解析包错误,因此安卓2.3.X已经彻底无法使用微信了。当然,现在大多数的主流APP,已经无法在安卓2.3.X上安装,会提示解析包错误。

固定链接 | 发表评论(0) | Trackback(0)

欢迎与本博客交换友情链接
2018年08月13日 12:25

友情链接规则:
1. 仅限个人博客,原创文章,技术类、日记类优先。
2. 请先做好本站链接,样式:每天启航
3. 博客开通满半年,文章满50篇。

固定链接 | 发表评论(0) | Trackback(0)

下一页 | 末页 (共2页)

Copyright © 2017-2018 blog.emxel.com 版权所有 Powered by Arsue