用php和js解决html因为明码传输而被黑客监听的一点思路

低调の华丽

伪摇滚青年

1楼 大 中 小 发表于 2009-8-4 23:35 只看该作者

用php和js解决html因为明码传输而被黑客监听的一点思路

转自:csdn http://topic.csdn.net/u/20070616 … b-ccd5386db35f.html

tcp + html页面因为是明码传送,内容很容易被黑客监听和截获

为了安全起见,特别是一些电子商务类站点要解决这个问题一般采用ssl传输,但ssl的速度比较慢,一般只用在涉及密码和金钱的传输处

解决这个问题简单方法是用轻型加密算法,将要传输的内容转换成密文,兼容于大部分浏览器

这里遇到两个问题:

1 服务器端将数据加密,客户端要有能力解密,并且效率要高

2 加密用的密码要安全,保证密码不会被第三方解密

问题1

可以用xxtea算法加密,只需要很少的代码就能将字符串加密和解密,也可以用其他标准算法,php在加密方面有很强的扩展,可以查看手册,但必须有js的解密程序

问题2 可应用Diffie-Hellman密钥交换算法,这种算法目前还算安全,它是建立在基于有限域中计算离散对数的困难性问题之上

整理一下思路,客户端先用Diffie-Hellman交换密钥,然后用xxtea类似的算法加密传输,客户端用js解密显示。

但这些似乎比较麻烦,但是如今web2.0盛行,用ajax技术可以有效减少需要传输的数据量,即只更新需要更新的层

遇到验证密码的地方可以用js在客户端就计算md5的哈希值,再通过加密的通道传输,基本就能基本杜绝监听

也许你读后会觉得有些麻烦,但这是有效的替代ssl复杂传输协议的思路,平衡了速度和安全性。

最后:搜索引擎不能运行js所以蜘蛛就不能爬了,对付这个问题

程序里可以根据客户端或者ip所在地提供不同的内容,比如服务器放在国外,对国外的ip不加密,对国内或未知的ip进行加密。


Terminusbot 整理,讨论请前往 2049bbs.xyz


低调の华丽

伪摇滚青年

2楼 大 中 小 发表于 2009-8-4 23:36 只看该作者

如何避过GFW的关键字过滤

首先声明,本人憎恨FLG,拥护国家对互联网敏感信息进行过滤的政策。本文所阐述的方法是为了保证守法公民浏览合法网站的权利。

根据目前对GFW特点的研究,GFW会对HTTP协议中的文字信息进行关键字过滤,如果HTTP流中包含了敏感关键字,GFW就会断开这条HTTP连接。如果把HTTP协议中传输的文字信息进行简单加密就可以避过GFW。方法如下:

1.用户向服务器提交文字信息时使用js对提交内容进行简单加密(如移位),然后再提交给服务器

2.服务器收到加密后的文字信息,存放到数据库或文件

3.用户浏览页面时,服务器传回加密的数据,客户端浏览器使用js进行解密,然后将解密出的明文显示给用户

特点:

1.客户端和服务器均不需要额外安装任何软件

2.加密/解密全部在客户端浏览器中使用js操作,不会增加服务器负担

3.整个过程对用户完全透明,不需要客户干预

4.只需对用户提交信息进行加/解密,其他信息可以不变

huge

3楼 大 中 小 发表于 2009-8-5 05:46 只看该作者

我早就做了一个。

萧易寒

4楼 大 中 小 发表于 2009-8-5 10:44 只看该作者

标准的gzip压缩方式已经对最新的GFW无效了

heifenbrug

沉渣泛起,流毒不淺

5楼 大 中 小 发表于 2009-8-5 14:55 只看该作者

沒什么用 還是申請ssl證書好

低调の华丽

伪摇滚青年

6楼 大 中 小 发表于 2009-8-5 17:17 只看该作者

回复 3楼 huge 的话题

胡戈老师,你的那个工具能不能共享出来,我研究研究,新浪的页面貌似已经被和谐掉了

[ 本帖最后由 低调の华丽 于 2009-8-5 17:24 编辑 ]

huge

7楼 大 中 小 发表于 2009-8-6 19:16 只看该作者

这里:

http://www.discuz.net/viewthread.php?tid=1242337

http://www.discuz.net/viewthread.php?tid=1233024

麦圆

Twitter @math2gold 惊诧的火星友邦 咪咪是 /math2ogld

8楼 大 中 小 发表于 2009-8-6 19:59 只看该作者

这个技术上可以搞的,js已经有很多现成的代码。不过在合租空间搞的话,对应的cgi相对会消耗很多资源。如果是有自己的独立服务器,那干脆ssl算了。因此,问题还是在资源问题上。当然,希望LZ出手搞一下,虽然目前可能受制于资源问题,但是深入之后也许会有新发现。

另,“最后”那个问题不可做了,既然要加密,当然可以让搜索知道了,即便搜索不因门技术封你,最后五毛也会发现问题,只要他们一搜索或者打开网页什么都知道了。所以要保密还是立心保密好。

低调の华丽

伪摇滚青年

9楼 大 中 小 发表于 2009-8-8 21:28 只看该作者

回复 8楼 麦圆 的话题

楼上说的对

麦圆

Twitter @math2gold 惊诧的火星友邦 咪咪是 /math2ogld

10楼 大 中 小 发表于 2009-8-9 01:36 只看该作者

是了,想到个能用的方法,可以把加密解密端都在js上完成,服务器上纯粹存放密文。这样就不消耗资源,也达到目的了。