【问题标题】:How to avoid CSRF attack in Codeigniter Ajax call?如何避免 Codeigniter Ajax 调用中的 CSRF 攻击?
【发布时间】:2020-02-15 04:13:17
【问题描述】:

我尝试在我的 web 应用程序中实现 CSRF 攻击,它使用 codeigniter 框架实现,这个框架已经有一个保护 CSRF 攻击的选项。我的问题是我不知道如何在 Ajax Call 中避免 CSRF 攻击。任何人有一个想法请帮助我。

谢谢

【问题讨论】:

  • 你的问题有点令人困惑 - 如果你在 codeigniter 中激活 csrf,它将可用于任何发布请求。它是通过 ajax 提交还是传统的表单提交发生的,这并不重要。
  • 没有附加 CSRF 令牌。请正确解释您的问题。

标签: ajax codeigniter codeigniter-3 csrf


【解决方案1】:

您可以在代码中执行以下操作,尽管我的过程可能不正确。

在config.php中设置$config['csrf_protection'] = TRUE;

在每个 POST 表单中,如果不使用表单助手,则在提交按钮之前使用以下隐藏输入:

<input type="hidden" name="<?php echo $this->security->get_csrf_token_name();?>" value="<?php echo $this->security->get_csrf_hash();?>">

在涉及 Ajax 的地方使用类似的代码 -

..........
"ajax":{
    url:"<?=site_url();?>folder/controllername/methodname",
    type:"POST",
    "dataType" : "json",
    "data":{
    '<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>'
           },
       },
...............

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-22
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多