Laravel TokenMismatchException 68 问题怎么解决?

2016-11-13 23:25:45 +08:00
 icebreaker
本地 vagrant box 开发的时候没有任何问题, push 到远程 vps ( debian )上面,一直出现这个问题。 看了下 sessions 目录,似乎每请求一次都会生成不同的 session , 无法登录,注册, 表单提交的完全没法进行。

google 没找到满意答案,冒昧这里问题,谁遇到同样的问题,最佳解决方案是?
2369 次点击
所在节点    PHP
2 条回复
Bantes
2016-11-14 09:43:34 +08:00
###CSRF 防护###
<p>在 web 路由文件中所有请求方式为 PUT 、 POST 或 DELETE 的 HTML 表单都会包含一个 CSRF 令牌字段,否则,请求会被拒绝。关于 CSRF 的更多细节,可以参考其文档:</p>
<pre><code><form method="POST" action="/profile">
{{ csrf_field() }}
...
</form></code></pre>
Bantes
2016-11-14 09:47:01 +08:00
CSRF 防护
在 web 路由文件中所有请求方式为 PUT 、 POST 或 DELETE 的 HTML 表单都会包含一个 CSRF 令牌字段,否则,请求会被拒绝。关于 CSRF 的更多细节,可以参考其文档:
<form method="POST" action="/profile">
{{ csrf_field() }}
...
</form>

跨站请求伪造是一种通过伪装授权用户的请求来利用授信网站的恶意漏洞。 Laravel 使得防止应用遭到跨站请求伪造攻击变得简单。

Laravel 自动为每一个被应用管理的有效用户会话生成一个 CSRF “令牌”,该令牌用于验证授权用户和发起请求者是否是同一个人。

任何时候在 Laravel 应用中定义 HTML 表单,都需要在表单中引入 CSRF 令牌字段,这样 CSRF 保护中间件才能够正常验证请求。想要生成包含 CSRF 令牌的隐藏输入字段,可以使用辅助函数 csrf_field 来实现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/320256

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX