zoukankan      html  css  js  c++  java
  • 前端传输安全

    传输安全

    http 窃听

    • 窃听用户密码
    • 窃听传输敏感信息
    • 非法获取个人资料

    Windows 下命令行执行 tracert 命令可查看一个请求响应完整走的路径

    还可以可以用 node 全局安装anyproxy工具来进行操作

    anyproxy简介

    AnyProxy 是阿里巴巴基于 Node.js 开发的一款开源代理服务器。

    代理服务器站在客户端和服务端的中间,它可以收集双方通信的每个比特。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务所使用的代理协议,请求对目标服务器创建连接或者获取目标服务器的指定资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应。

    AnyProxy 是完全可以灵活配置的代理服务器。它支持 https 明文代理 ,且提供了 Web 界面便于观测请求情况,同时支持二次开发,可以用 JavaScript 来控制代理的全部流程,搭建前端个性化调试环境。

    http 篡改

    • 插入广告
    • 重定向网站
    • 无法防御的 XSS 和 CSRF 攻击

    传输案例

    • 运营商劫持
      • 例如:广告,
    • 局域网劫持
      • 例如:窃取密码
    • 公共 WiFi 获取密码
      • 例如:获取敏感信息
    • 上面这些都会造成信息泄露,造成严重后果

    https

    现在叫的 TLS 就是以前的 SSL

    通过证书机制来保证安全

    • 证书无法伪造
    • 证书私钥不被泄露
    • 域名管理权不泄露
    • CA 坚守原则

    以上条例保证了可靠的安全性

    若要查看本地设备的证书

    选择运行从启动菜单中,然后输入certlm.msc。将显示本地设备的证书管理器工具。

    若要查看您的证书,在证书-本地计算机在左窗格中,展开你想要查看的证书的类型的目录。

    查看当前用户证书

    选择运行从启动菜单中,然后输入certmgr.msc。当前用户的证书管理器工具会显示。
    若要查看您的证书,在证书-当前用户在左窗格中,展开你想要查看的证书的类型的目录。

    添加删除证书(这种事一般不要干)

    选择运行从启动菜单中,然后输入mmc
    将显示在 MMC。

    从文件菜单中,选择添加/删除管理单元。添加或删除管理单元窗口会显示。

    从可用的管理单元列表中,选择证书,然后选择添加。
    添加证书管理单元

    在中管理单元中的证书窗口中,选择计算机帐户,然后选择下一步。
    或者,您可以选择我的用户帐户当前用户或服务帐户针对特定服务。

    备注:如果您不管理员为你的设备,你可以仅对你的用户帐户的管理证书。

    在中选择计算机窗口中,保留本地计算机选择,并选择完成。
    在中管理单元中添加或删除窗口中,选择确定。
    添加证书管理单元

    可选:从文件菜单中,选择保存或另存为保存 MMC 控制台文件以供将来使用。

    若要查看你的证书 MMC 管理单元中,选择控制台根节点在左窗格中,然后展开证书 (本地计算机)将显示每种类型的证书的目录的列表。 从每个证书目录中,可以查看、 导出、 导入,并删除其证书。

    具体的操作可以参考 Microsoft 官网上的

    http 和 https

    http 不安全,会被窃听到,用以传输非敏感信息

    https 安全,不会被第三方窃听到,但需要证书,用以传输敏感信息,但没 http 效率高

    两者各有优点各有缺点,结合使用最好

    证书可在浏览器控制台的Secrity查看详细的证书

    http.creatServer(app.callback()).listen(1521,function(){
        console.log('app http is listen on port 1521')
    })
    https.creatServer({
        key: fs.readFileSync('./cert/private.key'),//秘钥
        cert: fs.readFileSync('./cert/fullchain.crt'),//证书(生成的根证书要和自己的证书要在都在这里,将根证书粘贴到另一个证书中)
    },app.callback()).listen(1521,function(){
        console.log('app http is listen on port 1521')
    })
    
    // https模块还是要导入的
    
  • 相关阅读:
    golang版本管理工具gvm
    golang问题101
    服务器部署Jupyter Notebook
    Python 获取MySql某个表所有字段名
    Python自带HTTP文件传输服务
    log4net 配置
    GridView控件RowDataBound事件中获取列字段值的几种途径
    最简单去Button回车事件
    oracle 多条执行语句同时执行
    MERGE Into
  • 原文地址:https://www.cnblogs.com/ygjzs/p/12245381.html
Copyright © 2011-2022 走看看