当前位置: 首页 > wzjs >正文

html游子吟网页制作代码合川网站优化

html游子吟网页制作代码,合川网站优化,网站如何做会员登录页面,搜狗推广和百度推广哪个好✅ 6.1 如何防止 SQL 注入 / XSS / CSRF? 面试官您好,Web 安全三大经典问题分别从不同层面入手: 🔸 SQL 注入(Server端) 原理:恶意用户将 SQL 注入查询语句拼接,导致数据泄露或破坏…

6.1 如何防止 SQL 注入 / XSS / CSRF?

面试官您好,Web 安全三大经典问题分别从不同层面入手:


🔸 SQL 注入(Server端)

原理:恶意用户将 SQL 注入查询语句拼接,导致数据泄露或破坏。

防御手段

  1. 使用 ORM / 预编译语句(PreparedStatement)

    • 如 Sequelize / Prisma / TypeORM 都默认使用参数化查询

  2. 不拼接 SQL 字符串

    • 坚决杜绝字符串拼接构造查询

  3. 对用户输入做严格校验(如白名单、正则)

✅ 示例(Sequelize ORM):

User.findOne({ where: { username: req.body.username } }); // 安全


🔸 XSS(跨站脚本攻击)

原理:用户输入恶意脚本插入页面,在其他用户浏览时触发执行。

防御手段

  1. 前端输出内容必须做转义(如 DOMPurify、Vue/React 默认做)

  2. 后端返回的数据也可二次 HTML encode

  3. 设置 CSP(内容安全策略)响应头

    Content-Security-Policy: default-src 'self'


🔸 CSRF(跨站请求伪造)

原理:攻击者诱导用户点击链接,悄悄向另一个站点发起请求。

防御手段

  1. 使用 SameSite Cookie 策略(推荐 SameSite=Strict)

  2. 使用 CSRF Token 校验(如 csurf 中间件)

  3. 对敏感操作用 POST,并验证 Referer 头来源


6.2 JWT 如何签发与验证?如何防止伪造?

JWT 是一种轻量的无状态认证方案,我在 NestJS 项目中用得很多。


🧩 JWT 签发过程:

  1. 用户登录成功后,服务端使用 私钥(或对称密钥) 生成 token:

    const token = jwt.sign({ uid: user.id }, SECRET_KEY, { expiresIn: '2h' });

  2. 客户端将 token 存储于:

    • 安全性优先:HttpOnly Cookie

    • 灵活性优先:localStorage(要防 XSS)


🧩 验证 token:

后端中间件提取请求头中的 token 并使用相同密钥解码:

jwt.verify(token, SECRET_KEY);


❗防止伪造方法:

  • 密钥不能泄露,必须使用 非对称加密(如 RS256) 或强对称密钥

  • 建议使用 JWT 的 签发者(iss)和用途(aud) 字段限制滥用

  • 设置合理的过期时间(短 token + 刷新机制)


6.3 登录接口如何防止暴力破解?加密算法用什么?

登录接口是攻击高发点,我从「加密、频率限制、验证码」三方面防护:


🔒 密码加密:

  • 使用 bcrypt 加密(推荐 10 ~ 12 轮 salt):

const hash = await bcrypt.hash(password, 10);
const isMatch = await bcrypt.compare(inputPassword, hash);
  • bcrypt 是基于 Blowfish 的算法,具备慢哈希特性,抗暴力破解。


🚨 防止暴力破解:

  1. IP / 用户名 尝试次数限制:如 5 分钟内登录失败 5 次封号

    • 可结合 Redis 实现计数

  2. 登录接口接入验证码(如图形验证码、滑动验证)

  3. 接入行为分析 / 登录地判断(如风控中台)


6.4 如何对文件上传做安全校验?

文件上传是黑客最容易钻空子的地方,需要严格限制上传内容和行为。


🛡️ 安全措施:

风险类型对策
恶意脚本文件限制 MIME 类型(白名单)、校验扩展名和真实类型
木马图片使用 file-typemime 判断内容头部
大文件拖垮服务器限制上传大小(如 5MB)
路径穿越攻击不允许用户自定义文件路径;统一保存在 sandbox
文件名注入生成唯一名(如 UUID),避免原始文件名冲突


✅ 示例(NestJS 文件上传验证):

@UseInterceptors(FileInterceptor('file', {fileFilter(req, file, cb) {const isImage = file.mimetype.startsWith('image/');cb(null, isImage);},limits: { fileSize: 5 * 1024 * 1024 }, // 限 5MB
}))

6.5 如何加密用户密码?用什么算法?

用户密码必须做 不可逆加密(单向散列)并加盐。


推荐算法:bcrypt(或 argon2)

  • bcrypt 是加盐 + 慢哈希算法(抗彩虹表 + 抗暴力破解)

  • NestJS 和 Express 项目中推荐使用 bcryptjsbcrypt 模块


加密流程:

const saltRounds = 10;
const hashedPwd = await bcrypt.hash(password, saltRounds);
  • 登录时使用 compare 方法比对:

const isMatch = await bcrypt.compare(inputPassword, storedHash);


其他备选算法(了解即可):

算法特点
SHA256不加盐容易被反查,已不推荐
Argon2更安全但较新,适合新系统使用
PBKDF2可以加盐、加轮次,银行业常用


✅ 总结回顾

编号问题要点简述
6.1SQL/XSS/CSRF 防护ORM 防注入、DOM转义防 XSS、CSRF Token + SameSite
6.2JWT 签发与校验签名加密、有效期、对称/非对称加密、避免暴露密钥
6.3登录暴破防护bcrypt 加密、IP 限制、验证码、行为识别
6.4文件上传安全检查 MIME 类型、文件大小、存储路径唯一、过滤木马
6.5密码加密算法选择推荐 bcrypt / argon2,使用盐值,严禁存储明文密码



文章转载自:

http://FiPkrXzy.dphmj.cn
http://XbLBibOZ.dphmj.cn
http://oIPxxg4M.dphmj.cn
http://UCThLYEo.dphmj.cn
http://dcGzjQZ0.dphmj.cn
http://cL3SzY2P.dphmj.cn
http://VlkkAmrD.dphmj.cn
http://ebTusKhF.dphmj.cn
http://skX1kvg0.dphmj.cn
http://ZRcGyfML.dphmj.cn
http://JndT6Uks.dphmj.cn
http://eBhgALjM.dphmj.cn
http://kfNtMCxF.dphmj.cn
http://wHozMsJ7.dphmj.cn
http://ehS968qc.dphmj.cn
http://f3SmrJh2.dphmj.cn
http://wl1rAr6x.dphmj.cn
http://S0OnLU1U.dphmj.cn
http://5leYWREy.dphmj.cn
http://S0mQy4Bb.dphmj.cn
http://1ZyRXicB.dphmj.cn
http://ZIYcIEWA.dphmj.cn
http://9fnIArGu.dphmj.cn
http://ufL61Chx.dphmj.cn
http://q7rnsnLr.dphmj.cn
http://uPFDRw06.dphmj.cn
http://JMrQnopG.dphmj.cn
http://AcjoiXA4.dphmj.cn
http://wUXVQgmG.dphmj.cn
http://l9LiLMLv.dphmj.cn
http://www.dtcms.com/wzjs/610907.html

相关文章:

  • 如何学会建网站先网站开发后软件开发
  • 福州网站建设优质服务商品牌网站建设四川
  • 什么网站做品牌特卖新公司怎么做网络推广
  • 商标注册网上查询重庆网站seo分析
  • 网站建设总结体会小程序定制语言
  • 建站工具 phpwind附近培训电脑的地方
  • 网站颜色搭配表东营市城乡建设局网站
  • 怎么查网站icp备案郑州企业网站优化排名
  • 网站模板 asp pc wap做直播导航网站
  • 知名企业网站分析 比较评估辽宁建筑网
  • 起名算命网站如何做赚钱frontpage2003网页制作视频教程
  • 做网站的绿色背景图做网站策划需要什么技能
  • 网站建设一站式jsp做的网站运行都需要什么
  • 文山微网站建设织梦dedecms医院类网站在线预约挂号插件_utf8
  • 天津网站建设设计费用网站建设w亿玛酷1负责
  • 益田附近网站建设网站做菠菜
  • 做网站要掌握几种语言ui设计接单价目表
  • 做网站电脑开一天用多少钱小精灵网站在线做语文
  • 口碑好的坪山网站建设semester
  • 网站做框架杭州的网站设计公司
  • 网站忘记备案加强网站人才建设
  • asp.net企业网站医院网站改版建设方案
  • 有谁做网站合肥宣传片制作公司六维时空
  • 网站建设简介淄博台州网站制作服务
  • 手机wap网站怎么做扬州西区网站建设
  • 网站建设与策划试卷网站页面太多是否做静态
  • 网站正在建设中 html5长沙网站制作案例
  • 自助建站好吗番禺网站制作费用
  • 优化网站步骤网站建设收费分几次
  • 个人微信公众号怎么做微网站吗陕西有限公司网站建设招标公告