https和http的区别及安全性

news/2024/7/12 3:20:36 标签: http, https, 网络协议, 网络

首先进行提问:https是加密传输,那么它安全吗?

简单的回顾:

HTTPS和HTTP都是网络协议>网络协议,也就是规定数据如何在互联网中传输的规则。它们的主要区别在于安全性。

HTTP(Hypertext Transfer Protocol)是互联网上应用最为广泛的一种网络协议>网络协议,所有的www文件都必须遵守这个标准。HTTP是客户端和服务器之间的请求-应答协议,提供了一种客户端向服务器发送信息的可能方式。

HTTPS(Hypertext Transfer Protocol Secure)是HTTP的安全版本,它在HTTP的基础上加入了SSL/TLS协议,从而在客户端和服务器之间提供了一个加密的通信通道。因此,HTTPS协议可以保护用户和服务器之间的通信不被窃听或篡改。

另外,HTTP和HTTPS的默认端口也不同:HTTP的默认端口是80,而HTTPS的默认端口是443。

至于相同点,HTTP和HTTPS都是基于TCP协议的,也就是说,它们都使用TCP协议来进行数据传输。此外,它们都用于从服务器获取并提交数据,例如浏览网页、提交表单等。

那么重点来了,https安全吗?

HTTPS传输并不是完全安全的,因为它仍然存在以下一些安全威胁:

  1. 中间人攻击(MITM攻击) HTTPS使用SSL / TLS协议进行加密和认证,但这些协议不保证通信的完整性。中间人攻击者可以欺骗用户,使其相信他们正在与正确的网站通信,但实际上被重定向了到攻击者的服务器。攻击者可以窃取用户数据、修改数据或伪造数据。

  2. SSL/TLS漏洞 尽管SSL / TLS协议是HTTPS的核心安全特性,但证书和实现SSL / TLS的软件也存在漏洞。例如,心脏出血漏洞(Heartbleed)允许攻击者访问服务器上存储的敏感信息,而Poodle攻击允许攻击者在SSL / TLS连接上强制执行不安全的协议版本。

  3. 跨站点脚本攻击(XSS) 跨站点脚本攻击是一种利用网站漏洞的攻击,攻击者可以注入恶意脚本,使其在用户浏览器中运行。即使连接是通过HTTPS进行的,攻击者也可以利用此攻击。

  4. 窃取Cookie 尽管HTTPS确保了数据传输的加密,但它并未解决所有安全问题。例如,攻击者可以使用各种技术从浏览器中窃取Cookie,包括会话劫持和会话固定攻击。

综上所述,HTTPS传输并非完全安全,并且仍然存在一些安全威胁。但与HTTP相比,使用HTTPS会提供更高的安全性,可以大大减少未经授权访问和数据窃取的风险。

听懂的话点个赞,没有的话也别急,往下接着看:

举个简单的例子:百度,百度请求是在地址栏拼接,也就是所谓的明文,而https呢是隐藏的,因此很多新手认为他就是安全的,但你可以打开F12重新刷新页面,点击“网络”,你就会发现调用的接口,点击会有详细的信息:请求地址、状态码、参数、响应时间...等等

如何提高安全?

简单的方法:

// 禁止缩放
const keyCodeMap = {
  // 91: true, // command
  61: true,
  107: true, // 数字键盘 +
  109: true, // 数字键盘 -
  173: true, // 火狐 - 号
  187: true, // +
  189: true, // -
};
// 覆盖ctrl||command + ‘+’/‘-’
document.onkeydown = function (event) {
  const e = event || window.event;
  const ctrlKey = e.ctrlKey || e.metaKey;
  if (ctrlKey && keyCodeMap[e.keyCode]) {
    e.preventDefault();
  } else if (e.detail) {
    // Firefox
    event.returnValue = false;
  }
};
document.addEventListener('keydown', function (event) {
  if (event.ctrlKey) {
    event.preventDefault(); // 取消默认行为
    // 这里可以添加你自定义的处理代码
  }
});
// 覆盖鼠标滑动
document.body.addEventListener(
  'wheel',
  (e) => {
    if (e.ctrlKey) {
      if (e.deltaY < 0) {
        e.preventDefault();
        return false;
      }
      if (e.deltaY > 0) {
        e.preventDefault();
        return false;
      }
    }
  },
  { passive: false },
);
//按键触发
document.onkeydown = function () {
  //禁止 F12
  // if (window.event && window.event.keyCode == 123) {
  //   event.returnValue = false;
  // }
  //禁止右键
  if (event.ctrlKey && window.event.keyCode == 85) {
    return false;
  }
};
//网站禁止右键
document.body.oncontextmenu = function () {
  self.event.returnValue = false;
};

简单还好使,但是还是加密传输比较好,下篇博客介绍加密


http://www.niftyadmin.cn/n/5085366.html

相关文章

【SQL】MySQL中的索引,索引优化

索引是存储引擎用来快速查询记录的一种数据结构&#xff0c;按实现方式主要分为Hash索引和B树索引。 按功能划分&#xff0c;主要有以下几类 单列索引指的是对某一列单独建立索引&#xff0c;一张表中可以有多个单列索引 1. 单列索引 - 普通索引 创建索引&#xff08;关键字i…

Linux必备命令:如何使用cd命令在文件系统中高效切换目录?

文章目录 一、引言二、什么是cd命令三、基本用法如何使用cd命令改变当前工作目录列举常见的cd命令选项 四、相对路径和绝对路径解释相对路径和绝对路径的概念示范如何使用cd命令切换到不同的目录 五、特殊符号和快捷方式介绍特殊符号&#xff08;如..、~&#xff09;的含义和用…

【VIM TMUX】开发工具 Vim 在 bash 中的显示与 tmux 中的显示不同

开发工具 Vim 在 bash 中的显示与 tmux 中的显示不同-CSDN博客 此方法有效 方法如下&#xff1a; 1.在~/.bashrc中添加 alias tmuxtmux -2 ,然后使配置生效 $source ~/.bashrc . 2.在~/.tmux.conf中添加 set -g default-terminal "screen-256color" 完成之后即可…

Spark 中数据结果传输到 Driver 端

我们知道将大量数据传输到 Driver 端可能会导致网络传输开销、Driver端性能和内存方面的问题。这究竟是怎么一回事呢&#xff1f;让我们来一探究竟吧。 一、数据传输到Driver简述 在 Spark 中&#xff0c;数据结果传输到 Driver 端的过程通常涉及两个阶段&#xff1a;action…

堆友:阿里巴巴文生图工具又出新功能(局部重绘)

堆友局部重绘功能&#xff1a;让你的设计更加完美 堆友是阿里巴巴旗下的设计师全成长周期服务平台&#xff0c;提供海量高品质3D素材、实时在线渲染、多元场景功能应用、轻便好学易上手等多重优势于一身的设计神器。其中&#xff0c;堆友的局部重绘功能可以帮助设计师快速修改…

计算机网络-计算机网络体系结构-数据链路层

目录 *一、组帧 1.1字符计数法 1.2字符填充法 1.3零比特填充法 1.4违规编码 *二、差错控制 2.1检错编码 2.2.1奇偶校验码 2.2.2 CRC循环冗余码 2.2纠错编码-海明码 *三、流量控制和可靠传输机制 流量控制 停止-等待协议 ​编辑 后退n帧协议的滑动窗口(GBN) 选择…

GPU高性能面试-写一个ReduceKernel

要求写一个reduceKernel 要求给出Kerne的完整调用: 1. 进行一维reduce 可以写一个最基础的&#xff0c;仅仅实现基础功能就行 使用share mem进行功能优化 使用shuffles指令完成block reduce操作 2.实现二维reduce

vue3结合elemplent-plus组件初始化选择日期范围

实现的效果&#xff1a; 在使用时踩了个坑&#xff0c;耽搁了俩小时时间&#xff0c;气人&#xff01;&#xff01;&#xff01;&#xff01; 注意&#xff1a; 1.获取上个月时间时必须使用正确的时间格式去获取&#xff0c;在获取时间的时候不能操作-等 2.获取到的时间必须…