深入浅出HTTP/HTTPS和网络安全:HTTP/HTTPS的工作原理和常见的网络安全问题,如XSS、CSRF、SQL注入等

HTTP和HTTPS

HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是浏览器和服务器之间传输信息的通信协议。两者的主要区别在于HTTPS使用了SSL/TLS协议进行了加密处理。

  • HTTP: HTTP只是一个纯文本信息传输协议,没有加密机制,数据都是未加密的,安全性较低。如果黑客截取了web浏览器和网站服务器之间的传输通信数据,就能直接获知其中的信息。

  • HTTPS: HTTPS是经由SSL安全套装层对网络连接进行加密处理来防止数据在传输过程中被窃取或篡改。安全性较高。

网络安全

网络中常见的几种安全问题:

  1. **XSS (Cross Site Scripting)**:XSS是一种常见的巧妙利用网站未做好用户输入过滤来盗取用户信息甚至进行恶意操作的攻击方式。因为有些网站并没有有效地过滤用户的输入,攻击者就可以输入一段脚本代码,其他用户在看见攻击者发布的内容时这段代码就会被执行,实现攻击的目的。

  2. **CSRF (Cross Site Request Forgery)**:CSRF攻击是攻击者利用用户的身份去执行某种操作,跟XSS不同,XSS是攻击数据接收对象,而CSRF是攻击数据请求的对象。

  3. SQL注入:SQL注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

如何防御

  • 防御XSS攻击:可以使用如下手段:

    • 对用户的输入进行过滤或者转码
    • 使用HTTP-only来禁止脚本访问cookie
    • 使用CSP(Content Security Policy)来禁止浏览器加载第三方的资源
  • 防御CSRF攻击:常见的手段是使用Token,即在用户请求某个需要安全防护的操作时,服务器会创建一个Token,附在用户的Session中,然后将这个Token发送给客户端,当客户端再次发送该操作请求时,必须携带这个服务器颁发的Token,服务器会验证这个Token的合法性。

  • 防御SQL注入:使用预编译的SQL查询和参数化的查询可以有效防御SQL注入。

更安全的HTTPS

HTTPS端到端的加密通过TLS/SSL实现。TLS协议的握手过程会使用公钥基础设施(PKI)通过对称加密生成一个会话密钥。这样,服务器和客户端之间的所有通信均由该会话密钥加密,为数据提供了保密性和完整性保障。

使用HTTPS的优势包括:

  1. 数据保密:所有通信内容都是加密的,网络中间人很难直接看到明文内容。
  2. 数据完整性:可以防止数据在传输过程中被改变。
  3. 服务器身份验证:通过查看SSL证书用户可以确认自己是与真正的服务器通信。

Cookie的安全性

Cookie 是网站用于保持用户会话的重要工具。然而,Cookie 也可能成为潜在的安全问题。设置 Cookie 的时候,应考虑以下几个安全性选项:

  • Secure:标记为 Secure 的 Cookie 只能通过被加密的安全连接 HTTPS 发送。
  • HttpOnly:标记为 HttpOnly 的 Cookie 不能被客户端 JavaScript 访问,这有助于缓解 XSS 攻击。

内容安全策略(CSP)

CSP 可以作为防范 XSS 攻击的重要工具。它的工作原理是,网站管理员定义哪些内容是可信的,浏览器则只会执行来源于可信列表的资源。例如,这可以用来阻止来自未经批准的网站的JavaScript执行,防止恶意外部脚本对网页进行篡改。

相关推荐
左手厨刀右手茼蒿11 小时前
Flutter 组件 http_requests 适配鸿蒙 HarmonyOS 实战:极简网络请求,构建边缘端轻量级 RESTful 通讯架构
网络·flutter·http
斌味代码13 小时前
Nginx 配置实战(2026最新版):反向代理+负载均衡+HTTPS+性能优化一网打尽
nginx·https·负载均衡
WIN-U614 小时前
新版华三H3C交换机配置NTP时钟步骤 示例(命令及WEB配置)
网络协议·tcp/ip·http
nbsaas-boot18 小时前
基于 HTTP 构建 MCP Tools 的完整工程解析
网络·网络协议·http·ai
王码码203518 小时前
Flutter for OpenHarmony:使用 pluto_grid 打造高性能数据网格
flutter·http·华为·架构·harmonyos
先跑起来再说18 小时前
从原理到实践:彻底搞懂Cookie和Session的区别
计算机网络·http·https
兰.lan18 小时前
【黑马ai测试】HTTP协议-抓包工具定位-弱网测试-缺陷介绍
网络·python·网络协议·http
zjeweler18 小时前
web安全-常见源码泄露汇总
安全·web安全
一名优秀的码农20 小时前
vulhub系列-42-Me-and-My-Girlfriend-1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
一名优秀的码农21 小时前
vulhub系列-41-DerpNStink: 1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析