zoukankan      html  css  js  c++  java
  • flask提交表单验证不通过,以及CSRF攻击原理

    学习表单的问题1.

    提交表单时怎么都无法验证通过

    记录一下,自己的学习bug,主要是因为在模板中书写渲染的语句时,把CSRF的字段名写错了。
    因为在模板中书写一些语句是没有提示的,自己手动敲代码容易出现变量值错误。
    原本我写的是这样的。

    {{ form.crsf_token }}

    正确的应该是

    {{ form.csrf_token }}

    flask-wtf的表单验证方法form.validate_on_submit() 会对进行CSRF验证,如果上面代码写错相当于没有进行渲染该字段,那么flask-wtf在验证表单签名时就会一直不通过。

    简介

    CSRF(Cross Site Request Forgery,跨站请求伪造)是一种近年来才逐渐被大众了解的网络攻击方式,又被称为One-Click Attack或Session Riding。在OWASP上一次(2013)的TOP 10 Web程序安全风险中,它位列第8。随着大部分程序的完善,各种框架都内置了对CSRF保护的支持,但目前仍有5%的程序受到威胁。

    (1)攻击原理

    CSRF攻击的大致方式如下:某用户登录了A网站,认证信息保存在cookie中。当用户访问攻击者创建的B网站时,攻击者通过在B网站发送一个伪造的请求提交到A网站服务器上,让A网站服务器误以为请求来自于自己的网站,于是执行相应的操作,该用户的信息便遭到了篡改。总结起来就是,攻击者利用用户在浏览器中保存的认证信息,向对应的站点发送伪造请求。在前面学习cookie时,我们介绍过用户认证通过保存在cookie中的数据实现。在发送请求时,只要浏览器中保存了对应的cookie,服务器端就会认为用户已经处于登录状态,而攻击者正是利用了这一机制。

    保持对优秀的热情
  • 相关阅读:
    BZOJ 1008 [HNOI2008]越狱
    BZOJ 1588 [HNOI2002]营业额统计
    20170520 DP阶段总结
    HDU 3507 Print Article
    浅谈随机数生成器及其应用
    BZOJ 1010 [HNOI2008]toy 玩具装箱
    斯堪福三定律
    这是我在博客园上的第一篇博客
    微博粉丝服务---“公众号”开发
    XML解析---利用XStream解析xml数据及反构造Java对象
  • 原文地址:https://www.cnblogs.com/luckforefforts/p/13642707.html
Copyright © 2011-2022 走看看