用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上完成,服务器上纯粹存放密文。这样就不消耗资源,也达到目的了。