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

360建筑网是什么网站织梦大气婚纱影楼网站源码 dedecms摄影工作室网站模板

360建筑网是什么网站,织梦大气婚纱影楼网站源码 dedecms摄影工作室网站模板,平台游戏,免费企业wordpress主题1、什么是CSRF 其目标是在用户不知情的情况下#xff0c;以用户身份执行未经授权的操作。攻击者通过引诱用户访问恶意网站或点击包含恶意代码的链接#xff0c;来伪造一个请求发送给服务器#xff0c;来触发 CSRF 攻击。一旦用户被攻击#xff0c;他们的登录凭据将被用于执…1、什么是CSRF 其目标是在用户不知情的情况下以用户身份执行未经授权的操作。攻击者通过引诱用户访问恶意网站或点击包含恶意代码的链接来伪造一个请求发送给服务器来触发 CSRF 攻击。一旦用户被攻击他们的登录凭据将被用于执行可能涉及敏感操作的请求例如更改密码、发表评论、转账等。 2、原理 前提用户登录网站后浏览器会记录网站的cookie当用户再次请求网站的时候浏览器会把网站下的cookie带上发给服务器。 1、假如用户使用浏览器登录了淘宝网并且浏览器已经保存了淘宝网的cookie 2、用户又打开一个标签登录了邮箱打开邮件里的链接该链接就是伪造的攻击链接 3、用户点击后会访问淘宝店铺的好评链接此时浏览器已经有了用户的淘宝网的cookie这次请求服务器就会认为是用户正常发送的就会执行好评请求这样就造成CSRF。 3、防护 1、检查Referer和Origin字段 HTTP请求头会默认带上Referer字段和Origin字段Referer这个字段用以标明请求来源于哪个地址。Origin它表示请求的来源即请求来自于哪个站点Origin只包含服务器名。一般情况下Origin和Referer字段应和请求的地址位于同一域名下。如果不是同一域名下服务器就会识别为恶意访问。 2、使用CSRF令牌CSRF Token 在每个用户会话中生成一个随机的CSRF令牌并将其嵌入到每个表单或敏感操作的请求中。这个令牌是服务器生成的并与用户的会话相关联。服务器在接收到请求时会验证这个令牌的有效性确保请求来自合法的源。攻击者无法获得有效的CSRF令牌因此无法成功发起CSRF攻击。 3、Cookie的SameSite属性 在设置Cookie时可以将SameSite属性设置为Strict或Lax以限制跨站请求的Cookie传递。这有助于减少CSRF攻击的成功率Strict完全禁止Lax相对宽松None不做限制 4、django中的防护 1、首先在settings.py中启用CSRF保护 MIDDLEWARE [# ...django.middleware.csrf.CsrfViewMiddleware, # 开启CSRF中间件# ... ]2、在所有包含表单的HTML模板中确保包含{% csrf_token %}标签会隐藏一个CSRF令牌 form methodpost action/example/{% csrf_token %}!-- 其他表单字段 --input typesubmit value提交 /form!--会变成下面-- form methodpost action/example/input typehidden namecsrfmiddlewaretoken valuecxIrGQrJOzVN3NcleAjFEbYZfSE8LbIJuuPW6Vx7H3IliRg26FCQHgzMjwWWQp9u!-- 其他表单字段 --input typesubmit value提交 /form3、用户第一层访问网站时django会随机生成一个csrftoken放在浏览器的cookie中后面每次请求的时候都会带上这个csrftoken 4、当用户提交表单的时候CsrfViewMiddleware中间件会自动校验cookie和表单中的csrftoken是否一致来判定是否是合法请求。 5、每次刷新表单的时候csrfmiddlewaretoken会更新而cookie中的csrftoken没变如何校验呢csrftoken只比较secrettoken前32位是salt后面是加密的token通过salt能解密出唯一的secret其实最终比较的是secret。 # CsrfViewMiddleware/process_view中 csrf_token self._get_token(request) # 从cookie中获取csrftoken request_csrf_token request.POST.get(csrfmiddlewaretoken, ) # 从表单中获取csrfmiddlewaretoken_compare_masked_tokens(request_csrf_token, csrf_token) # 比较def _compare_masked_tokens(request_csrf_token, csrf_token):# Assume both arguments are sanitized -- that is, strings of# length CSRF_TOKEN_LENGTH, all CSRF_ALLOWED_CHARS.return constant_time_compare(_unmask_cipher_token(request_csrf_token),_unmask_cipher_token(csrf_token),)def _unmask_cipher_token(token):Given a token (assumed to be a string of CSRF_ALLOWED_CHARS, of lengthCSRF_TOKEN_LENGTH, and that its first half is a mask), use it to decryptthe second half to produce the original secret.mask token[:CSRF_SECRET_LENGTH]token token[CSRF_SECRET_LENGTH:]chars CSRF_ALLOWED_CHARSpairs zip((chars.index(x) for x in token), (chars.index(x) for x in mask))return .join(chars[x - y] for x, y in pairs) # Note negative values are ok 6、django后端实现csrf_exempt 装饰器用于关闭 CSRF 保护即使在全局中间件中已经启用了 CSRF 保护。csrf_protect 装饰器用于强制启用 CSRF 保护即使在全局中间件中已经启用了 CSRF 保护。 from django.shortcuts import render from django.views.decorators.csrf import csrf_exempt, csrf_protectcsrf_exempt def index(request):return render(request, index.html, locals())csrf_protect def pay(request):pass
http://www.dnsts.com.cn/news/268025.html

相关文章:

  • 最近做国际网站怎么样动力无限西安网站建设
  • 浙江平台网站建设找哪家梧州建设网站
  • 做版权保护的网站温州网站建设公司电话
  • 湘潭网站建设 要选磐石网络永嘉县住房和城乡建设局网站
  • 企业网站建设策划书范文c2c类型电子商务网站
  • 网站搭建设计范文深圳哪里有做网站推广的
  • 网站设计公司建设推广网站代码
  • 专业建站网站项目风险
  • 豆瓣网站模板莱芜贴吧论坛
  • 网站微信支付怎么做的南宁营销型网站建设哪家好
  • 济南传承网站建设公司前端网站效果有哪些
  • 看到网站的第一印象wordpress 微博登录注册
  • 做网站公司促销海报wordpress 登
  • 合肥市建设网官方网站钓鱼网站开发教程
  • 做网站的心得大型网站开发合同
  • 如何说服企业做网站免费设计在线生成
  • 做网站的企业文化怎么写ui设计到底是干嘛的
  • 百度公众号seo综合排名优化
  • 濮阳网站建设知名公司排名海洋网络网站建设
  • 传媒公司网站建设费入什么科目小说网站风格
  • 青岛seo整站优化招商电话软文怎么写
  • 奉贤做网站如何做好网络宣传
  • 网站色彩搭配表免费微信微网站模板下载
  • 淘客导航网站开发网站建设相关的广告标语
  • 中国建设网站轨道自检验收报告表wordpress 数据库编码
  • 成立网站的意义拿网站的文章做外链
  • 社团的工商年检网站在哪里做主机屋网站搭建设置
  • 用python写一个简单的网站上海设计网站与
  • 做网站需学什么wordpress怎么下载安装
  • 制作一个网站数据库怎么做湖北建设银行官方网站首页