- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经安装了 barryvdh/laravel-cors在我的 Laravel 5.6 应用程序中打包,并将相关行添加到 app\Http\Kernel.php
中的中间件组,并按照说明发布配置文件。
我在 VerifyCsrfToken.php
中禁用了对我的 api 路由的 CSRF 检查
protected $except = [
'api'
];
我已将配置文件设置如下:
'supportsCredentials' => false,
'allowedOrigins' => ['https://developer.mozilla.org'],
'allowedHeaders' => ['Content-Type', 'X-Requested-With'],
'allowedMethods' => ['GET', 'POST', 'PUT', 'DELETE']
'exposedHeaders' => [],
'maxAge' => 0,
...我已经在 Postman 中使用 header 中的“Origin: https://developer.mozilla.org”运行测试 POST
请求。
一切正常。如果我将该 Origin key 更改为 https://developer.mozilla.org 以外的任何其他内容它抛出“在 CORS 政策中不允许”。错误。根据配置,这正是我所期望的。
但是如果我将配置行更改为
'allowedMethods' => ['GET']
(即仅允许 GET 请求),并在 Postman 中运行相同 POST 请求...它仍然有效。
为什么?为什么它不遵守配置中对 allowedMethods 施加的限制?
最佳答案
在 CORS 协议(protocol)中,服务器本身从不做任何阻塞——相反,阻塞是由浏览器完成的,并且仅由浏览器完成,并且仅针对在浏览器中运行的前端 JavaScript 代码的情况(而不是,例如,当使用 Postman 时)或发送请求的东西)。
因此设置allowedMethods
的唯一效果是使服务器发送具有特定值的Access-Control-Allow-Methods
header 。它不会以其他方式使服务器本身阻塞。
只有在响应 CORS 预检 OPTIONS
请求时,浏览器才会检查该 header 的值。因此只有在这种情况下,如果 OPTIONS
响应中的 Access-Control-Allow-Methods
的值不包含您的代码尝试使用的方法的匹配项, 预检失败。
但如果您的前端代码的请求不是触发预检的请求,浏览器会直接发送它,即使为 allowedMethods
设置的值不包括您的代码使用的请求方法名称。
换句话说,如果您在前端代码中有一个 POST
请求,则不会发送或接收 Access-Control-Allow-Methods
,但是POST
没有触发预检的特征。因此,在这种情况下,浏览器永远不会查询 Access-Control-Allow-Methods
header 的值。
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Preflighted_requests列出了将触发 CORS 预检的特征,但在 POST
或 GET
请求的情况下,它基本上相当于您的代码是否向请求添加了任何自定义 header 。
关于laravel - barryvdh/laravel-cors 配置在 Laravel 5.6 中不起作用;忽略 'allowedMethods',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51422009/
我正在使用此程序包barryvdh/laravel-dompdf是否有任何方法可以检测内容是否适合当前页面(如果不合适),我想将该内容放到下一页(如果不能完全容纳)。 最佳答案 在有关所询问主题的文档
我无法隐藏 Laravel Debugbar动态地,即在运行时。我已经从父 Controller 类构造函数中尝试了以下操作: false]); .... 以上所有尝试均失败。我想提一下, Cont
我无法隐藏 Laravel Debugbar动态地,即在运行时。我已经从父 Controller 类构造函数中尝试了以下操作: false]); .... 以上所有尝试均失败。我想提一下, Cont
我正在使用 barryvdh laravel dompdf用于在 laravel 5.7 中从 html View 渲染 pdf。它工作正常,但是当 View 超过 2 页时,它会剪切页面并且不打印第
我是 Laravel 的新手,并且编写了我的第一个应用程序。 我在 Windows 上使用 Laravel 5.4 和 PHP 7.1.5,但是当我运行 composer require barryv
使用 laravel 的 barryvdh/laravel-dompdf 包在 Laravel 中生成 PDF 时出现以下错误。 Image not found or type unknown HTM
我将 DOMPDF 与 Laravel-dompdf 一起使用,经过数小时的研究后,我找不到能够渲染我的图像的解决方案。我已经提到了这些问题: DomPDF: Image not readable o
请让我断言:这个问题不是this的重复问题, 在 Laravel 5 中,我正在尝试安装 barryvdh/laravel-debugbar。但它没有显示。 我做了以下事情: 安装: composer
已经六个小时了,我仍然没有得到以下问题的解决方案。 我试图让 AngularJS 从不同的域访问我的 API。在网上搜索后,我找到了这个 package它说它可以“在您的 Laravel 应用程序中添
我在laravel 5.5和bootstrap css中使用barryvdh/laravel-dompdf(通过小的调整重命名为pdf.css)以pdf格式生成报告 这是我从报告 View 中调用 c
我已经使用 composer 安装了'barryvdh/laravel-dompdf'并添加了这些行 Barryvdh\DomPDF\ServiceProvider::class 'PDF'=> B
我使用 Laravel 和 laravel-cors 包作为后端。我正在使用来自不同域的 axios 发出 API 请求。基本上一切正常。 然后我创建了这个新路由来通过 id 检索单个对象。当存在带有
我添加了 barryvdh/laravel-ide-helper适用于 Laravel 5.6 的 PhpStorm 2017.3.4 插件。似乎它不能正常工作。 路线/api.php Route::
我在创建 pdf 文件时遇到问题。我将 css3 文件包含到 View 的 head 部分,但它不起作用。 包含的文件是 twitter bootstrap css 和应用程序主题的主 css。 ..
我知道这个问题之前有人问过,但我显然需要我的手。我正在尝试将 pdf 附加到电子邮件中并发送出去。我已经在 Laravel 之外使用 PHPMailer 完成了它,但现在我正在尝试以 Laravel
我在实时服务器上安装我的 laravel 5.7 应用程序(生产)并且没有开发工具命令我得到错误: composer install --no-dev ... - Removing barryvd
我已经安装了 barryvdh/laravel-cors在我的 Laravel 5.6 应用程序中打包,并将相关行添加到 app\Http\Kernel.php 中的中间件组,并按照说明发布配置文件。
我使用的是 laravel 5.2,dompdf 在本地主机上运行良好,但是当移动到 AWS 时,它一直显示 ErrorException in Cpdf.php line 3855: Undefin
当我想下载 invoice.pdf 时出现错误:- fopen(project_path\storage\fonts/\071ddd89a9cb147bf5639344caee3fe8.ufm): f
我正在更新 Composer 并使用 barryvdh/laravel-dompdf 包。 问题是当我单击按钮时,它会显示如下图所示的错误:- 无论如何要更改文件夹路径吗?还是我缺少修改下载pdf文件
我是一名优秀的程序员,十分优秀!