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

Codeigniter CSRF-它如何工作

俞学
2023-03-14
问题内容

最近,我发现了有关CSRF攻击的信息,并很高兴发现Codeigniter v 2.0.0中添加了CSRF保护。

我启用了该功能,并看到在表单中添加了带有令牌的隐藏输入,并且我假设它也在会话中存储了令牌。在POST请求中,CI是否会自动比较令牌,还是必须手动进行比较?


问题答案:

仅当使用此form_open()功能时,CSRF令牌才作为隐藏输入添加到表单中。

由Security类创建具有CSRF令牌值的cookie,并在必要时为每个请求重新生成。

如果$_POST存在数据,则cookie由Input类自动验证。如果发布的令牌与cookie的值不匹配,CI将显示错误并且无法处理$_POST数据。

因此,基本上,这是自动的-
您要做的就是在您的计算机中启用它$config['csrf_protection']并使用form_open()您的表单功能。

我发现一篇很好的文章很好地解释了这个问题:html" target="_blank">https : //beheist.com/blog/csrf-protection-in-
codeigniter-2-0-a-closer-look.html



 类似资料:
  • 问题内容: 我正在探索python。我对python绑定感到好奇。任何人都可以解释一下,如何有可能从Python访问C库。 问题答案: 有几种方法可以从Python调用用C编写的代码。 首先,标准库中有ctypes模块。它允许您加载动态链接库(Windows上为DLL,Linux上为共享库)并直接从Python调用这些库中的函数。此类库通常用C编写。 其次,对于CPython,有Python /

  • 假设我们有一个名为托管在tomcat上的服务提供商应用程序,用户单击指向SP a的链接。SP a没有看到提供的令牌,因此它会将用户重定向到IdP进行身份验证(通过某种方式提供SAML Authn请求)。然后,IdP将用户重定向到提供凭据的某个公共登录页面,假设这些凭据正确,IdP将创建一个SAML响应,其中包含一个令牌和一些关于主题的断言,并将其发送回SP a。SP a看到了这一点,并允许用户访问

  • 问题内容: 例如,在匿名内部类的情况下,传递(匿名)对象引用并执行该对象的方法。 Lambda是将在需要时执行的代码块。 遇到lambda时,JVM中会发生什么?JVM在哪里存储与lambda相关的代码块(堆:年轻,老旧或永久生成)? 我尝试搜索,但得到了使用lambda的语法,但无法理解JVM内部发生的情况,因为在JAVA中,一切都是基于对象的。 因此,在OOP中,lambda如何工作? lam

  • 我们知道主存域很少:年轻的、终生的(旧的gen)和PermGen。 年轻领域分为伊甸园和幸存者(有两个)。 OldGen用于生存的对象。 MaxTenuringThreshold防止对象过早地被最终复制到OldGen空间。这很清楚,也很容易理解。 但是它是如何工作的呢?垃圾回收器如何处理这些在MaxTenuringThreshold之前仍然存在的对象,以何种方式?它们位于何处? 对象被复制回幸存者

  • 问题内容: 我想为它的onTapDown回调使用GestureDetector,但也具有不错的InkWell飞溅效果。 可以同时使用这两个吗? 问题答案: 如果要无条件处理指针向下事件而不会造成歧义,可以将InkWell设为Listener的子级,并设置onPointerDown处理程序。 例如: 向InkWell添加onTapDown处理程序可能是有意义的。

  • 在我加入的新项目中,他们一直交替使用术语Hibernate和JPA。所以,我试图深入研究代码并试图理解整个事情是如何工作的(我是Spring、JPA和Hibernate世界的新手)。我将尝试将代码放在这里以更好地理解:1)有一个@Configuration类,其中有以下内容: 因此,在这个配置类中,我们返回一个EntityManagerFactory。 2) 然后是一个标记为@persistor的