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,服务器端就会认为用户已经处于登录状态,而攻击者正是利用了这一机制。

    保持对优秀的热情
  • 相关阅读:
    linux配置ssh互信
    查看LINUX进程内存占用情况
    RSync实现文件备份同步详解
    rsync同步完整配置
    Linux下利用rsync实现多服务器文件同步
    Linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)
    Linux大文件分割split和合并cat使用方法
    Linux计划任务入门详解
    一步一步理解最大熵模型
    一步一步理解word2Vec
  • 原文地址:https://www.cnblogs.com/luckforefforts/p/13642707.html
Copyright © 2011-2022 走看看