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

ashchen 2007-06-16 08:53:18
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进行加密。
...全文
455 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zairwolfc 2007-06-21
  • 打赏
  • 举报
回复
呵呵,支持ash。
ImN1 2007-06-20
  • 打赏
  • 举报
回复
老陈是不是想做一个无界?哈哈
tony-杨 2007-06-20
  • 打赏
  • 举报
回复
分好少
再加一個0多好
^*^$
tony-杨 2007-06-20
  • 打赏
  • 举报
回复
.............
four498 2007-06-20
  • 打赏
  • 举报
回复
..........
ashchen 2007-06-20
  • 打赏
  • 举报
回复
所有代码都调试通过,完全可行,而且速度非常快,不是ssl能比的
感谢一下phprpc项目,函数全是从里面提取的,汗~~

咱们研究如何磨刀,不研究如何用刀干仗

直接用hash还是不安全,增加一层安全一层
fredyj 2007-06-20
  • 打赏
  • 举报
回复
当心楼上的楼上被GFW掉~~
  • 打赏
  • 举报
回复
遇到验证密码的地方可以用js在客户端就计算md5的哈希值,再通过加密的通道传输,基本就能基本杜绝监听
-----------------------------------------
别人听到hash后直接借用你的所谓"加密的通道"收发请求.和直接给人听到明文没感觉有什么差别
cymple 2007-06-20
  • 打赏
  • 举报
回复
用SSL的人飘过...
ashchen 2007-06-16
  • 打赏
  • 举报
回复
PHPRPC里有相关代码,有兴趣的朋友可以一起探讨一下,把相关程序提取出来

以上思路只针对纯文本,对于图片,flash等无能为力

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧