https和http的区别及安全性

简介: 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;
};

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

相关文章
|
20小时前
|
安全 网络协议 网络安全
Socks5代理与HTTP代理的区别与优劣
在互联网时代,隐私和安全至关重要,代理服务器如socks5和HTTP代理成为保护个人信息的工具。socks5代理支持多种网络流量和UDP协议,更具灵活性和通用性,但设置复杂;HTTP代理则更常见、易用,适合仅处理HTTP流量的场景,但限制较多。选择哪种代理取决于具体需求和应用场景。
|
3天前
|
安全 Go
解决https页面加载http资源报错
请注意,混合内容可能导致安全性问题,因此在使用上述方法时要小心。最好的方式是尽量减少或完全消除混合内容,以确保页面的安全性。
5 0
|
8天前
|
网络协议 网络安全 数据安全/隐私保护
http和https的区别!
http和https的区别!
|
8天前
|
网络协议 Linux Windows
TCP/IP、Http、Socket之间的区别
TCP/IP、Http、Socket之间的区别
|
11天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
10 0
|
14天前
|
缓存 安全 网络协议
【面试必备】HTTP和HTTPS是什么?有什么差异?
HTTP(超文本传输协议)和HTTPS(超文本传输安全协议)是用于在互联网上传输数据的协议。它们都是应用层协议,建立在TCP/IP协议栈之上,用于客户端(如浏览器)和服务器之间的通信。
21 2
|
30天前
|
前端开发 应用服务中间件 网络安全
http转为https,ssl证书安装及nginx配置
http转为https,ssl证书安装及nginx配置
49 1
|
30天前
|
安全 数据安全/隐私保护
深入解析:HTTP和HTTPS的三次握手与四次挥手
在这些握手和挥手过程中,双方交换信息,协商参数,建立或关闭连接,以保证数据的可靠传输。HTTPS在此基础上加入了数字证书验证和加密通信,增加了安全性。这些步骤确保了HTTP和HTTPS协议的通信过程的稳定和安全。
116 0
|
1月前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
141 0
|
3月前
|
Web App开发 移动开发 JavaScript
Python网络编程(三),HTTP协议
Python网络编程(三),HTTP协议
61 0