https和http的区别及安全性

首先进行提问: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,https,网络协议,网络)