企业网站建设的劣势建立企业网站地址
2026/4/22 17:31:41 网站建设 项目流程
企业网站建设的劣势,建立企业网站地址,开淘宝店需要多少钱?,计算机应用技术专业网站开发方向聚焦三大高危漏洞#xff1a;SQL 注入、CSRF、XSS1. SQL 注入#xff08;SQL Injection#xff09; 攻击原理 攻击者通过在用户输入中嵌入恶意 SQL 片段#xff0c;绕过应用逻辑#xff0c;直接操作数据库。 示例#xff08;危险代码#xff09;#xff1a; # 危险SQL 注入、CSRF、XSS1. SQL 注入SQL Injection攻击原理攻击者通过在用户输入中嵌入恶意 SQL 片段绕过应用逻辑直接操作数据库。示例危险代码# 危险字符串拼接user_idrequest.GET[id]queryfSELECT * FROM users WHERE id {user_id}# 输入: 1 OR 11 --cursor.execute(query)→ 可导致数据泄露、删除表、提权、远程命令执行如 PostgreSQL 的 COPY TO防御手段方法说明Python 实践参数化查询Prepared Statements最有效SQL 结构与数据分离SQLAlchemy / Django ORM 默认安全原生 SQL 使用cursor.execute(SELECT * FROM t WHERE id %s, (user_id,))禁用动态 SQL 拼接绝不拼接用户输入到 SQL 字符串避免f...、str.format()构造 SQL最小权限原则DB 用户仅授予必要权限不使用 root 连接数据库输入校验 白名单对 ID、枚举值等做类型/范围检查int(user_id)、正则校验ORM 安全使用避免raw()、extra()拼接Django 中慎用User.objects.extra(where[fname {name}])关键点只要使用参数化查询99% 的 SQL 注入可被杜绝。2. 跨站请求伪造CSRF, Cross-Site Request Forgery攻击原理攻击者诱导已登录用户访问恶意网站该网站自动向目标站点如银行发起带 Cookie 的请求如转账利用用户身份执行非意愿操作。前提用户已登录目标站 请求无二次验证。防御手段方法说明Python 框架支持CSRF Token每个表单/请求携带一次性 token服务端校验Django 内置{% csrf_token %}CsrfViewMiddlewareFlask-WTF 提供csrf_token()⚠️ FastAPI 需手动实现或用fastapi_csrf_protectSameSite Cookie设置Cookie: SameSiteLax/Strict所有框架均可配置Django 默认Lax双重提交 CookieToken 同时放在 Cookie 和 Header比对一致适用于无状态 API但不如 Token 安全敏感操作二次验证如支付需短信/密码确认业务层防御注意纯 API 服务如移动端后端通常不需要 CSRF 防护因不依赖 Cookie 认证改用 Token若 Web 前后端同域且用 Cookie 登录则必须启用 CSRF。3. 跨站脚本攻击XSS, Cross-Site Scripting攻击原理攻击者将恶意脚本JavaScript注入网页当其他用户浏览时执行窃取 Cookie、会话、钓鱼等。分类存储型 XSS恶意脚本存入 DB如评论区反射型 XSS脚本通过 URL 参数反射如搜索框DOM 型 XSS前端 JS 动态写入未转义内容示例!-- 用户输入: scriptalert(document.cookie)/script --p{{ user_comment }}/p!-- 直接渲染 → 脚本执行 --防御手段层级措施Python 实践输出编码Output Encoding在渲染到 HTML 时转义特殊字符Jinja2Flask/Django默认自动转义FastAPI Jinja2 同样安全⚠️ 若用 内容安全策略CSP限制脚本来源禁止内联脚本添加响应头Content-Security-Policy: default-src self; script-src self https://trusted.cdn.com→ Django 用django-cspFlask 用flask-talisman输入过滤辅助对富文本使用白名单过滤用bleach库清理 HTMLbleach.clean(html, tags[p, strong], attributes{})HttpOnly Cookie阻止 JS 读取 CookieDjango/Flask/FastAPI 均支持设置session_cookie_httponly True关键原则永远不要信任用户输入转义发生在输出时而非输入时避免双重转义富文本场景必须用bleach等库做语义清洗。通用安全加固建议Python 项目类别措施依赖安全定期扫描pip-audit、safety锁定版本requirements.txtpip-tools错误信息生产环境关闭详细错误DjangoDEBUGFalseFastAPI 关闭debug安全头启用X-Content-Type-Options: nosniff、X-Frame-Options: DENY防点击劫持认证安全密码哈希用bcrypt/argon2Django 默认会话超时多因素认证MFA日志审计记录关键操作登录、支付但不记录密码/Token推荐工具 库Python漏洞工具/库SQL 注入SQLAlchemy, Django ORM天然防护CSRFDjango 内置, Flask-WTF, fastapi_csrf_protectXSSbleachHTML 清洗,jinja2自动转义CSPdjango-csp,flask-talisman依赖扫描pip-audit,safety,trivy容器扫描安全头secureWSGI 中间件,fastapi.middleware.trustedhost安全 Checklist上线前必查所有数据库查询使用参数化无字符串拼接Web 表单启用了 CSRF Token若使用 Cookie 认证用户生成内容在 HTML 输出时自动转义富文本字段经bleach清洗生产环境DEBUG FalseSession Cookie 设置HttpOnlySecureHTTPS启用 CSP至少default-src self依赖无已知 CVEpip-audit扫描通过总结SQL 注入 → 用参数化查询CSRF → 用 TokenWeb 场景XSS → 输出转义 CSP安全是“纵深防御”单点防护不足需多层叠加

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询