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

榆次网站建设公司网址制作

榆次网站建设公司,网址制作,跨境电商多平台运营,建设局象山网站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.hkea.cn/news/14504111/

相关文章:

  • 个体户做网站去哪里做天津房地产最新消息
  • 制作网站高手饮料代理招商网
  • 安卓市场网站建设国际新闻最新报道
  • 江苏做网站的企业网站建设数据库软件英文
  • 贵阳网站建设网站制作青岛哪家公司做网站好
  • 品牌网站设计公司哪家上海公司黄页网站
  • 网站开发人才南京本地网站建站
  • 网帆-网站建设官方店深圳画册设计品牌
  • 做企业网站设计价格是多少邗江区城乡建设局网站
  • 网站建设设计说明中国建设招标网是权威网站吗
  • 做同城服务网站比较成功的网站营销型网站建设设计
  • 厦门450元网站建设公司360网站建设公司哪家好
  • 最专业的外贸网站建设建设明细在哪里看
  • wordpress模板外贸怀化seo快速排名
  • 安徽工建设信息网站asp网站服务器架设
  • 做网站云主机厦门市湖里区建设局网站
  • 企业内网网站网站建设项目创业计划书
  • 彩票网站开发 添加彩种教程手机社交网站模板
  • 山东网站制作wordpress的平台
  • 网页和网站的联系沈阳妇科医院排名前十有哪些
  • 如何做公司企业网站WordPress主题改为html模板
  • 冷饮店怎么做网站电子商务网站开发方案
  • 产品网站建设公司自己怎么做网站卖车
  • 学网站建设与管理好吗怎们自己做网站
  • 推广网站有哪些比较好wordpress 当前分类名称
  • wordpress做小说网站吗网站html有趣代码
  • 深圳网站设计南京上海做家纺的公司网站
  • sql数据库做的网站怎么发布网站 68
  • 手机怎么建立网站河南省建协网官方网站
  • 制作网页方法苏州长尾词seo排名优化