当前位置: 首页 > 面试题库 >

jQuery和Django CSRF令牌

乜思淼
2023-03-14
问题内容

我有2个html页面。

父页面和子页面。子页面包含一个提交按钮,该按钮在父页面上运行代码以提交Ajax消息

我使用$ .load()方法加载子页面,然后在单击按钮时运行$ .ajax .POST方法。此post方法仅将JSON字符串传递给Python代码。

当我在除IE以外的任何浏览器上执行此操作时,它工作正常。但是,当我在IE中运行此代码时。我收到有关CSRF令牌的Python / Django错误。

我认为原因是因为子页面只是正在运行服务器端代码的当前页面本身的刷新。

有谁知道我应该如何去做这个工作。


问题答案:

你没有通过POST传递csrf令牌。尝试做我在数据中所做的事情。那就是获取csrf令牌(或你自己的方法)并在你的参数中传递它。

$.ajax({
    url : url,
    type: "POST",
    data : {csrfmiddlewaretoken: document.getElementsByName('csrfmiddlewaretoken')[0].value},
    dataType : "json",
    success: function( data ){
        // do something
    }
});


 类似资料:
  • 问题内容: 你好,我遵循了本教程,其中使用了jQuery UI来生成令牌facebook,例如:http : //net.tutsplus.com/tutorials/javascript-ajax/how-to-use-the-jquery-ui- autocomplete-widget/ 我的问题是我需要通过Json传递两个值:ID和NAME:服务器端脚本如下所示: 服务器端脚本的回显为: (

  • 问题内容: 下面的线正确吗?我想将表单数据和csrf令牌发布到Django视图函数中。 问题答案: 您必须将参数添加到FormData对象(使用append),并且像往常一样单独将formdata对象作为data属性传递。

  • 问题内容: 我将JQuery与ASP.NET Core 1.0.1一起使用,并且我有Ajax调用: 对ASP.NET Core的操作: 该表单处于共享视图中,如下所示: 提交表单时出现错误: 如何通过JQuery Ajax调用启用ASP.NET Core的AntiForgeryToken? 更新 我需要在表单中添加以下asp-controller和asp-action: 这将生成防伪令牌。我需要手

  • 问题内容: 我正在尝试在我的项目中实现csrf保护,但无法使其与jQuery Ajax一起使用。(不过,它适用于普通的帖子请求) 如果在发送表单之前使用chrome开发工具篡改令牌,则仍会看到“正在处理数据”文本,而不是错误。 app.js send.jade test.js 问题答案: 在有效负载消息中发送CSRF令牌: 为了简化您的工作,我认为您可以创建一个Jquery插件来执行此操作,如下所

  • 问题内容: 因此,我对PHP文件有了一个基本的.ajax()POST方法。 我需要什么安全措施? 周围有几篇文章提到使用隐藏的MD5输入字段,您可以通过AJAX发送该字段并在PHP文件中进行验证。这足够好吗? 问题答案: CSRF的风险在于,外部站点可能会将数据发送到您的站点,而用户浏览器会自动将身份验证cookie与它一起发送。 您需要某种方式来执行接收操作(您的方法正在向其发送POST数据),

  • 问题内容: 我已经对使用javascript的服务器推送进行了一些研究,发现普遍的共识是我要寻找的是“ Comet”设计模式。是否在jQuery之上构建了该模式的任何良好实现?如果没有,那么该模式是否有任何好的实现?而且,无论这些问题的答案是什么,从实现的角度来看,是否有关于此模式的文档? 问题答案: 我写了Till提到的插件。该插件是Bayeux协议的实现,目前支持长轮询(通过AJAX的本地服务