草庐IT

php - 防止在 Codeigniter 中显示默认的 CSRF 错误页面

我不喜欢CI在CSRFtoken过期时的默认行为。例如,当用户长时间显示登录表单并最终提交时,会出现这个带有错误消息的丑陋空白页面。我询问了解决这个问题的方法,有人告诉我扩展Security类,并覆盖它的csrf_show_error()方法,如下所示:classMY_SecurityextendsCI_Security{publicfunction__construct(){parent::__construct();}publicfunctioncsrf_show_error(){//commentoutthedefaultaction//show_error('Theaction

php - Laravel - 什么是 Vanilla PHP

这个问题在这里已经有了答案:Whatdoesvanillamean?(5个答案)关闭6年前。在Laravel文档中,关于路由标题,在解释如何创建csrftoken的位置,文档说://VanillaPHP//BladeTemplateSyntax{{csrf_field()}}这对VanillaPHP意味着什么?预先感谢!:)文档链接https://laravel.com/docs/5.2/routing#csrf-protection

php - 拉维尔 4 : Prevent multiple form submissions - CSRF Token

问题场景:我正在使用Laravel4创建博客。负责创建新博客文章的表单受到内置CSRF保护(LaravelDocs:CSRFProtection)的保护。到目前为止一切正常,但laravel似乎不会在每次请求时刷新csrftoken。出现的问题是,如果用户点击浏览器的后退按钮返回到已提交的表单,输入的数据会保留并且用户能够“重新提交”表单。这可能会为垃圾邮件发送者打开大门。通常这会被CSRFtoken阻止,因为它会在每次请求时刷新,但Laravel似乎不会那样做。我使用laravel“资源Controller”方法(LaravelDocs:ResourceControllers)来处理

php - 保护登录和评论表单免受 CSRF

我已经阅读了很多关于CSRF保护的文章(thisisagoodone)以及关于SO的各种问题,但它们似乎都没有提供足够的信息来回答我的问题。我正在开发自己的CMS,我想保护我的登录和评论表单。我将允许匿名用户在我的网站上发表评论。我网站上的所有表格都使用token进行保护。我已经知道这种方法,但问题是它需要一个事件session(即,在用户登录之后)。登录和评论表单的问题在于几乎任何人都可以访问它们并且不需要您登录-在这种情况下什么是防止CSRF的最佳保护措施?在上面的链接中,我读到当用户尝试登录时可以创建一个“预session”,然后继续使用通常的反CSRF方法(比如为用户的sess

php - 拉维尔 5.1/AngularJS : Reset password in Angular view (how to validate CSRF token? )

我设法调整了默认的Laravel身份验证,以便它可以作为我的AngularJS的API,到目前为止一切正常。可以转到/reset并输入一封电子邮件,然后收到一封带有密码重置链接的电子邮件,该链接转到/reset/{token}如果您没有收到任何验证错误,您的密码将成功更改。唯一的问题是,因为我使用的是AngularView,所以在显示reset-password状态之前,实际上没有任何东西可以验证token并确保它不是乱码。我尝试将其添加到Controller的顶部:if($stateParams.token!=$cookies.get('XSRF_TOKEN')){$state.go

php - 交响乐 : secure delete link with CSRFProtection

我有一个删除链接,可以通过ID/comment/:id/delete删除Comment对象为了确保此链接的安全,我向链接添加了一个csrftoken$CSRFTokenForm=newBaseForm();$link=url_for(...,array('_csrf_token'=>$CSRFTokenForm->getCSRFToken()));在executeDelete中我使用了checkCSRFProtection()方法,一切正常。唯一的问题是每个评论都由一个部分显示,每个部分创建它自己的BaseForm()以创建token,这是浪费时间,因为它们都是一样..关于如何使其更高

php - session 超时后 laravel csrf token 不匹配异常

在我们的laravel5应用程序中,登录是通过ajax进行的。如果用户注销并在session到期之前重新登录,一切都很好。但如果用户注销并在该页面上保持空闲状态直到session过期,则用户在尝试重新登录时将收到csrfTokenMismatch异常。我知道在verifyCsrfToken中间件中,laravel检查session是否与csrftoken匹配。同样在Guard.phplogout()方法中,session将在注销时被清除。所以我的问题是:session是否真的在注销时刷新,如果是这样,用户如何在我设置的session到期之前仍然可以重新登录?session过期时csrf

php - 如何在PHP中有效防止跨站请求伪造(CSRF)

我正在努力阻止CSRF在php通过以下方式:A$_SESSION['token']在每一页的开头生成。我已经知道使用$_COOKIES这是完全错误的,因为它们是针对每个请求自动发送的。在每个,以下输入:">已附加。$_SESSION['token'];使用$_POST['t']验证现在我有几个小问题:这是防止CSRF的好方法吗?如果不是,请解释。当打开另一个页面时设置相同的$_SESSION变量,前一个(仍然打开的)页面变得无效,如何防止这种情况?对于表单这个方法很清楚,但是如何处理正常的链接呢?是否也有必要将token附加到每个链接?非常感谢您。 最佳答案

php - Laravel 在 api 中间件上启用 csrf 保护

我正在使用Laravel5.4,我的路由在api中间件中我看到我需要将我的路由传输到网络中间件,但我需要它们在api中间件上,因为我正在创建一个RESTfulapi,关于如何的任何建议我可以将csrf与api中间件一起使用吗? 最佳答案 CSRF保护可防止使用先前经过身份验证的用户进行攻击(通常使用session设置状态)https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF).restfulAPI没有状态https://en.wikipedia.org/wi

php - Codeigniter CSRF token 问题

我做了一个简单的注册/时事通讯网站,但我遇到了一个奇怪的问题。有些人得到一个错误,说AnErrorWasEncounteredTheactionyouhaverequestedisnotallowed.我已经尝试过谷歌,发现当CSRF设置为true时,人们遇到了同样的问题。然而,我并不是每个人都会遇到,只是一小部分人。我正在使用form_open和form_close,我可以看到隐藏字段(token)。我使用的是最新版本的Codeigniter2.0.2这是我的Controllerfunction__construct(){parent::__construct();session_s