在laravel 5.2中,我有一个我在ajax中调用的路径(所以我发帖给http://mysite.dev/save)
in / save我有逻辑(控制器)来保存数据库中的数据。
所以要做到这一点我用CSRF:
var token = $('meta[name="csrf-token"]').attr('content');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': token
}
});
和ajax:
var url = new url('/save');
之后我执行保存数据的请求:
String line = "04/25/17|13:00|Line 0";
所以,如果我打开控制台,并在那里设置令牌,你可以多次调用url(/ save),所以这很糟糕,因为我可以无限制地发送信息。
在这种情况下我该怎么办?
我希望你能理解我。
非常感谢!!
答案 0 :(得分:0)
我不确定你是否了解Laravel中的CSRF助手如何工作。在这里查看
包含在Web中间件组中的VerifyCsrfToken中间件将自动验证请求输入中的令牌是否与会话中存储的令牌匹配。
这意味着您可以根据需要修改公共部分,但只要它与您的会话中的部分不匹配,如果不通过,这另一方面意味着几乎没有理由担心这一点。 另一方面,你可以使用
Request::ajax()
包装方法中的所有逻辑。这将确保请求确实是xmlhttp请求。