2019-12-15 22:11:08 1562次浏览 5条回答 0 悬赏 10 金钱

比如我登陆的时候,为了防止wireshark之类的软件抓包获取明文密码,可不可以先预处理之后再提交,demo中的登陆页面提交的都是明文密码,找了找相关的文档都是在后端处理而不是前端。

  • 回答于 2019-12-15 22:56 举报

    这个当然是 可以的

    简单的考虑,用 javascript 对密码做一些预处理就可以了,像什么 md5 sha1 之类的 都有开源的js库,当然也可以自己实现 一种加密算法,不过,因为 js代码都是需要下载到本地浏览器运行的,所以 不论你用 js 做什么手脚,即便你可以 对代码 做一些 混淆处理,只要我愿意 并且 有足够的时间 和 耐心,都是可以 读懂你的 js代码,知道你到底对 密码 做了什么处理的。 所以,这种方式 可以说是一种 中看不中用的 花拳绣腿 而已。

    安全的方式 当然也有,对 IE 来说,可以使用 ActiveX 控件,对某个版本之前的 chrome 来说,可以使用 npapi插件,这两种方式 比 js 的方案都 安全很多,因为 看不到 源代码了。不过 遗憾的是:某个版本之后 chrome 取消了 对 npapi插件的支持,所以 这么多年以来 很多的 网上银行 都是只支持 IE 登录的,原因就是 chrome 下没有一种安全的 客户端密码加密方案。

    1 条回复
    回复于 2019-12-15 23:25 回复

    谢谢回答,我的意思是Yii框架是否集成了相关功能可以直接调用,我找到了beforeValidate应该可以实现我的想法,https://www.yiichina.com/doc/guide/2.0/input-form-javascript#beforevalidate,我还在研究学习。
    其实都不用读懂代码,也不需要知晓我在前端的加密方式,就算是获取了加密后的表单数据,也可以用POSTMAN这样的软件来模拟登陆之类的操作。但在前端对明文密码进行处理至少一定程度上可以防止隐私泄露

  • 回答于 2019-12-15 23:02 举报

    补充一句:我这都是 很多年以前的认知了,不知道这么多年以来,chrome 有没有推出什么 新的技术,或者 H5下有没有什么 新的 实现方案,还望 对此有了解的大佬 不吝指教

  • 回答于 2019-12-16 15:07 举报

    直接上SSL证书不好么?现在都全民HTTPS了。

  • 回答于 2019-12-16 19:32 举报

    事实上,很多网上银行 很早就都是 全站 https 了,但是 登录页的密码 仍然会采用安全控件的方式。因为 他们防范的危险 是不同的。

    https 解决的是 传输的问题,就题主本身 防止抓包 的需求而言,https 是可以在 一定程度上 解决问题的
    浏览器控件 解决的是 客户端环境的问题,一个简单的例子,客户端如果运行有 键盘记录器,那么 https 就一点作用都没有了,而安全控件是可以对此 进行防范的。

    当然,以上所言 有些 跑题,题主问的是 防止抓包
    但,https的答案 也可以说 有些跑题,因为 题主问的是 密码的预处理

    1 条回复
    回复于 2019-12-17 08:12 回复

    言之有理。我没认真读题。

  • 回答于 2019-12-17 13:05 举报

    你登录的时候,怎么可能抓你的包呢?你这个担心没必要啊。除非你周围的局域网被人做过手脚了,这样的话防不胜防哦。

您需要登录后才可以回答。登录 | 立即注册
捣捣爸
见习主管

捣捣爸

注册时间:2019-05-23
最后登录:2022-04-26
在线时长:9小时29分
  • 粉丝0
  • 金钱105
  • 威望10
  • 积分295

热门问题