news 2026/4/28 16:47:45

后端安全防护:XSS、CSRF、SQL 注入防护技巧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
后端安全防护:XSS、CSRF、SQL 注入防护技巧

XSS 防护

使用内容安全策略(CSP)和输入过滤来防止跨站脚本攻击(XSS)。在 HTTP 响应头中添加 CSP 策略,限制脚本来源。

Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://trusted.cdn.com; style-src 'self' 'unsafe-inline'

在服务器端对用户输入进行 HTML 转义,防止恶意脚本注入。

from html import escape def sanitize_input(user_input): return escape(user_input)

CSRF 防护

使用 CSRF 令牌验证来防止跨站请求伪造(CSRF)。在表单或请求头中添加令牌,并在服务器端验证。

from flask_wtf.csrf import CSRFProtect app = Flask(__name__) app.config['SECRET_KEY'] = 'your-secret-key' csrf = CSRFProtect(app)

https://www.zhihu.com/zvideo/1993913105680450518/
https://www.zhihu.com/zvideo/1993913105680450518
https://www.zhihu.com/zvideo/1993913095148554053/
https://www.zhihu.com/zvideo/1993913095148554053
https://www.zhihu.com/zvideo/1993913094448099722/
https://www.zhihu.com/zvideo/1993913094448099722
https://www.zhihu.com/zvideo/1993913076018325469/
https://www.zhihu.com/zvideo/1993913076018325469
https://www.zhihu.com/zvideo/1993913074168635650/
https://www.zhihu.com/zvideo/1993913074168635650
https://www.zhihu.com/zvideo/1993913065146718075/
https://www.zhihu.com/zvideo/1993913065146718075
https://www.zhihu.com/zvideo/1993913064832123499/
https://www.zhihu.com/zvideo/1993913064832123499
https://www.zhihu.com/zvideo/1993913061459919304/
https://www.zhihu.com/zvideo/1993913061459919304
https://www.zhihu.com/zvideo/1993913060977549605/
https://www.zhihu.com/zvideo/1993913060977549605
https://www.zhihu.com/zvideo/1993913058624558590/
https://www.zhihu.com/zvideo/1993913058624558590
https://www.zhihu.com/zvideo/1993913054266668349/
https://www.zhihu.com/zvideo/1993913054266668349
https://www.zhihu.com/zvideo/1993913037950828977/
https://www.zhihu.com/zvideo/1993913037950828977

在 HTML 表单中添加 CSRF 令牌。

<form method="post"> <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"> <!-- 其他表单字段 --> </form>

SQL 注入防护

使用参数化查询或 ORM 来防止 SQL 注入。避免直接拼接 SQL 语句。

import sqlite3 def get_user(username): conn = sqlite3.connect('database.db') cursor = conn.cursor() cursor.execute("SELECT * FROM users WHERE username = ?", (username,)) user = cursor.fetchone() conn.close() return user

使用 ORM 如 SQLAlchemy 可以进一步降低风险。

from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker engine = create_engine('sqlite:///database.db') Session = sessionmaker(bind=engine) session = Session() user = session.query(User).filter_by(username=username).first()

其他安全措施

确保所有敏感操作(如登录、支付)使用 HTTPS 加密传输。

from flask import Flask from flask_sslify import SSLify app = Flask(__name__) sslify = SSLify(app)

定期更新依赖库以修复已知漏洞。

pip install --upgrade flask sqlalchemy
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:56:21

Vulkan--概述

目录 Vulkan 的起源 绘制一个三角形需要做什么 步骤 1 - 实例与物理设备选择 步骤 2 - 逻辑设备与队列族 步骤 3 - 窗口表面与交换链 步骤 4 - 图像视图与帧缓冲 步骤 5 - 渲染通道 步骤 6 - 图形管线 步骤 7 - 命令池与命令缓冲区 步骤 8 - 主循环 总结 API 概念 …

作者头像 李华
网站建设 2026/4/27 3:09:35

ResNet18实战案例:服装品类识别系统部署

ResNet18实战案例&#xff1a;服装品类识别系统部署 1. 引言&#xff1a;通用物体识别与ResNet-18的工程价值 在计算机视觉领域&#xff0c;通用物体识别是智能系统理解现实世界的第一步。从商品分类到内容审核&#xff0c;从智能相册到AR交互&#xff0c;精准、高效的图像分…

作者头像 李华
网站建设 2026/4/27 12:40:56

PCB电镀+蚀刻工艺简介:快速理解全流程

深入理解PCB电镀蚀刻&#xff1a;从原理到实战的全流程拆解你有没有想过&#xff0c;一块小小的手机主板上&#xff0c;密密麻麻的线路是如何做到比头发丝还细却依然稳定导通的&#xff1f;这背后离不开一个关键组合工艺——电镀 蚀刻。在现代高密度PCB制造中&#xff0c;尤其…

作者头像 李华
网站建设 2026/4/27 10:29:22

ResNet18实战:构建高精度图像分类服务

ResNet18实战&#xff1a;构建高精度图像分类服务 1. 引言&#xff1a;通用物体识别中的ResNet-18价值 在计算机视觉领域&#xff0c;通用物体识别是智能系统理解现实世界的基础能力。从自动驾驶感知环境&#xff0c;到智能家居识别用户行为&#xff0c;再到内容平台自动打标…

作者头像 李华
网站建设 2026/4/25 14:08:13

CubeAxesActor 为几何体添加边框和坐标轴

一&#xff1a;主要的知识点 1、说明 本文只是教程内容的一小段&#xff0c;因博客字数限制&#xff0c;故进行拆分。主教程链接&#xff1a;vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①vtkCubeAxesActor立方体坐标轴 二&#x…

作者头像 李华
网站建设 2026/4/27 17:56:15

多层板PCB生产流程实例分析:常见缺陷及改善措施

多层板PCB生产全流程实战解析&#xff1a;从缺陷溯源到工艺优化你有没有遇到过这样的情况&#xff1f;一块设计完美的16层服务器主板&#xff0c;在回流焊后突然出现间歇性通信故障。FA&#xff08;失效分析&#xff09;拆解发现&#xff0c;问题竟出在第8层一个不起眼的微孔—…

作者头像 李华