CORS 预检请求返回“403 Forbidden”;后续请求仅在 Chrome 中发送

2024-03-07

使用 pluploader 失败后这个问题 https://stackoverflow.com/questions/16144879/plupload-runtimes-returning-403-forbidden-error-when-trying-to-access-upload-php,我现在正在尝试精品上传器 http://fineuploader.com/.

阅读完 CORS 后,我在 IIS6 服务器上实现了各种标头。

似乎发生的是我的脚本触发第一个(preflight) 授权请求,该请求失败,但 Chrome 允许第二个 (standard) 仍然请求发送 - Firefox 不会。我认为这实际上是 Chrome 的一个错误,但至少它让我知道我的脚本是probably工作正常。

这是在 Chrome 和 FF 中看到的第一个(预检)请求:

OPTIONS /frog/LOTS/upload/php.php HTTP/1.1
Host: staff.curriculum.local
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Origin: http://frogserver.curriculum.local
Access-Control-Request-Method: POST
Access-Control-Request-Headers: cache-control,x-requested-with
Pragma: no-cache
Cache-Control: no-cache

The Access-Control...标头是我添加到 IIS 中的标头。

这是我的响应标题:

HTTP/1.1 403 Forbidden
Content-Length: 1758
Content-Type: text/html
Server: Microsoft-IIS/6.0
x-powered-by: ASP.NET
Access-Control-Allow-Origin: http://frogserver.curriculum.local
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Cache-Control
Access-Control-Allow-Methods: OPTIONS, GET, POST
Access-Control-Expose-Headers: Origin, X-Requested-With
Date: Mon, 22 Apr 2013 15:19:20 GMT

我试图并排比较两者,但我找不到任何丢失的标头,这会导致preflight请求返回一个403 Forbidden error.

我没有包含我的 PHP 源代码,因为它有很多代码。可以说它在 Chrome 中确实有效并且文件已正确上传,因此该脚本should是正确的。唯一值得一提的是我有一个header("Content-Type: text/plain");在我的脚本的开头。将其更改为text/html对于 Chrome 和 FireFox 来说没有区别。

JavaScript 非常简单:

$('#jquery-wrapped-fine-uploader').fineUploader({
    request: {
        endpoint: 'http://staff.curriculum.local/frog/LOTS/upload/php.php'
    },
    cors: {
        expected: true, //all requests are expected to be cross-domain requests
        sendCredentials: true //if you want cookies to be sent along with the request
    }
});

有人可以帮忙吗?今天我在这个问题上花了整整 8 个小时,我>

提前致谢,


正如我的评论中提到的,这似乎是您的服务器的问题。由于某种原因,它拒绝最初的 OPTIONS 请求。您需要查看服务器日志以了解服务器为何使用 403 响应此请求。

用户代理发送此初始 OPTIONS(飞行前)请求。 Fine Uploader不会直接发送此请求,而是由用户代理发送以符合CORS 规范 http://www.w3.org/TR/cors/。如果您对 CORS 有具体疑问,可以查看我的博文 http://blog.fineuploader.com/2013/01/cors-support-in-33.html关于 Fine Uploader 如何处理 CORS,或者/并且您可以阅读这篇关于 CORS 的 MDN 优秀文章 https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CORS 预检请求返回“403 Forbidden”;后续请求仅在 Chrome 中发送 的相关文章

  • CodeIgniter 控制器 - JSON - AJAX

    我正在尝试通过 AJAX 使用 CodeIgniter 发送表单构建 并尝试使用 JSON 获取响应 但是 我只在打开开发人员选项卡时看到响应 我什至不确定这是否实际上是响应 因为它显示了两个 json 数据 它所显示的只是加载旋转器 然后
  • 如何防止在 PHP 中使用超出“使用”范围的特征方法

    我想知道是否有任何方法可以防止在 PHP 的任何类上下文之外使用特征方法 让我用一个简短的例子来解释我想要什么 这是我当前的代码 File MyFunctions php trait MyFunctions function hello w
  • 取消html5浏览器中的单图请求

    我正在动态加载 大 图像以绘制到 html5 画布中 如下所示 var t new Image t onload t src http myurl 但每隔一段时间就会想取消图片请求完全地 我想出的唯一方法是设置src to i e t sr
  • WordPress 包含 SVG 文件错误

    我使用 PHP 和 WordPress 在本地主机上 我可以毫无问题地包含 SVG 文件 但在实时服务器上 我尝试包含一个 SVG 文件以便能够使用 CSS 对其进行样式设置 我收到此错误消息 Parse error syntax erro
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • Facebook 应用程序无法获取会话

    我正在 Heroku 上为 Facebook 开发一个非常基本的 PHP 应用程序 它显示非常基本的用户信息 如姓名 个人资料图片 但该应用程序在 getToken 方法中停止 我在登录我的个人资料后尝试了该应用程序 但仍然出现相同的消息
  • Mysqli 更新抛出 Call to a member function bind_param() 错误[重复]

    这个问题在这里已经有答案了 我有一个 70 80 字段表单 需要插入到表中 因此我首先根据表单中的输入名称在数据库中创建了一个表 而不是手动创建一个巨大的插入语句 这是我使用的代码创建 更改表 function createTable ar
  • 如何在 Zend MVC 中实现 SSL

    我之前已经通过使用特定的安全文件夹 例如服务器上的 https 文件夹与 http 文件夹 实现了安全页面 我已经开始使用 Zend Framework 并希望应用程序的某些部分 例如登录 使用 https 我在谷歌上搜索过 甚至在这里搜索
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • 如何让 jquery Tooltipster 插件适用于新创建的 DOM 元素?

    我正在使用 Tooltipster 插件http calebjacob com tooltipster http calebjacob com tooltipster 这很棒 但我已经动态生成了插入到 DOM 中的内容 工具提示程序似乎没有
  • 如何在 phalcon 框架中同时连接多个数据库在模型类中同时使用两个而不仅仅是一个

    在我的代码中我有两个数据库ABC and XYZ 我想在同一模型中使用两个数据库 而不是 phalcon 中的解决方案是什么 如何为此实现多个数据库连接 one
  • 如何删除文件

    我们有一个脚本 scripts ourscript php和一个文件 media movie1 flv 当我们运行时 我们如何删除这个文件ourscript php Using unlink http php net manual en f
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • 我可以在 PHP 会话变量中安全地存储用户名和密码吗?

    我想在 REST api 之上制作一个轻量级的 web 应用程序 用户只需进行一次身份验证 从那时起 所有针对 web api 的请求都希望通过以某种方式保持用户名和密码有效来完成 我已经做了一个工作原型我在哪里将用户名和密码存储在会话变量
  • 如何通过jquery更改元素的类名

    div class bestAnswerControl div class IsBestAnswer div div 我想补充一下 bestanswer some attribute 我想更换class IsBestAnswer div 到
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • 显示覆盖以覆盖整个页面

    我有一个正在加载的网络应用程序iframe 我需要显示一个覆盖 div 来覆盖整个页面 问题是叠加层当前仅显示在iframe区域而不覆盖整个页面 我们的应用程序 子应用程序 是加载的一组应用程序的一部分iframe 你可以做这样的事情 di
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function

随机推荐

  • 需要帮助使 jQuery .find 不区分大小写

    尝试使这个使用 find 的 jQuery 过滤器不区分大小写 例如 当搜索 cat 无引号 时 它将找到 cat 但找不到 Cat 或 CAT 同样 Cat 会找到 Cat 但找不到 cat 我怀疑这是非常基本的东西 但无法弄清楚 所以我
  • LESS @import:将路径传递给 lessc

    我想在父主题和子主题中使用 LESS 样式表 其中大部分样式表信息由父主题指定 子主题只需覆盖一些文件 这可以通过 LESS 的 Ruby 版本实现 如下所示 var parser new less Parser paths lib Spe
  • WCF多个服务同一配置中的同一合同

    我试图托管同一合约的不同服务实现 原因是需要一个虚拟实现来进行外部测试 我正在尝试将两者托管在同一个 Windows 服务中 private ServiceHost host private ServiceHost dummy protec
  • 在 hibernate 中更新对象的字段

    我有一个object A映射到table A in DB class A Integer id String field2 field2 field3 fieldN lots of other attribute 现在我想编写一个只更新单个
  • 禁用 Java 警告外观并影响 Java Web Start 应用程序

    Recently security vulnerabilities were discovered in the Java Plug In1 As a protection for the end user Java in most bro
  • Visual Studio/NuGet 缺少引用

    我的解决方案的引用出现了一些问题 因为有人搞乱了 NuGet 从源代码控制恢复导致项目无法加载 我不得不尝试一下才能最终加载内容 当我终于能够正确加载我的项目时 在一阵头痛之后 我有一个相当大的实验混乱需要清理 现在什么也没有构建 Nuge
  • Maven测试依赖的依赖关系

    我有一个父项目 它与范围有依赖关系test
  • 测试时如何设置React组件的宽度?

    I m trying to test a slider component 该滑块组件的宽度可以是可变的 当您单击滑块的 轨道 时 它应该更改值并触发onChange打回来 该值基于您在轨道上单击的位置 如果在最小值为时单击中间点100最大
  • 如何使用 3d perlin 噪声函数生成地形?

    我可以使用 2D Perlin 噪声函数来生成高度值 但我不明白为什么要使用 3D Perlin 噪声函数 在诺奇的博客 http notch tumblr com post 3746989361 terrain generation pa
  • javaFX 中的抖动阶段

    是否可以使用时间轴来摇动初级阶段 从而使用 XTimeline 和 YTimeLine final Timeline Xtimeline new Timeline for Animate On X Stage Xtimeline setCy
  • AFrame:重新调整元素的父级,保持其世界位置、旋转

    我正在尝试重新设置元素 实体 的父级 保持其在场景中的位置 旋转 以及如果可能的话 大小 例如比例 理想情况下 我希望有一个组件 例如 reparent 当在实体上设置时 将其 移动 到指定的父级 从而将实体的外观保留在场景中 例如 对于下
  • 如何在 MATLAB 中创建循环缓冲区,以便以正确的顺序进行连续测量

    我读到 如何在 MATLAB 中创建缓冲矩阵以进行连续测量 http stackoverflow com questions 821637 how to create a buffer matrix in matlab for contin
  • 更改 Rails 版本

    我不小心将 Rails 版本更改为 4 0 0 我尝试过 gem uninstall Rails version 4 0 0 rc1 并安装版本 3 2 13 但当rails v 时它仍然是版本 4 0 0 然后我尝试了 gem unins
  • Java电子邮件内容为空

    我有一些代码片段 我可以在其中发送带有 Excel 文件附件的电子邮件 一切正常 我可以看到标题 甚至文件附件 唯一没有出现的是电子邮件内容 我已经测试过我的 emailContent 变量不为空 我还能做些什么来让它出现 我什至启用了这行
  • 使用 AJAX 和 PHP 上传多个文件

    我正在尝试使用 ajax 和 php 上传多个文件 JavaScript和Ajax代码如下 document on click UploadButton function e var form new FormData var files
  • 带有可选index.php的动态RewriteBase

    我的动态基本 URL 位于 us ca and fr ca 如上所述使用建议的 RewriteCondhere https stackoverflow com a 25626489 1812580 在大多数情况下我都能做到这一点 它起作用的
  • 为什么当分配移动值的成员时编译不会失败?

    我正在研究以下示例Rust 实例 http rustbyexample com derive Debug struct Point x f64 y f64 derive Debug struct Rectangle p1 Point p2
  • Rails/postgres,“外键”存储在数组中以创建一对多关联

    postgres 数组可以用于在 Rails 中创建一对多 has many 关联 4 吗 我知道外键类型数组是不可能的 示例 一项任务有多个受让人 传统上我会使用关联表来解决这个问题 任务 gt 受让人 gt 用户 使用数组 这不是必需的
  • Swift - 检索子视图

    在我的应用程序中 我向视图添加标签 然后在单击按钮时尝试从视图中清除特定标签 并在尝试检索子视图时遇到错误 class FirstViewController UIViewController IBAction func btnAddTas
  • CORS 预检请求返回“403 Forbidden”;后续请求仅在 Chrome 中发送

    使用 pluploader 失败后这个问题 https stackoverflow com questions 16144879 plupload runtimes returning 403 forbidden error when tr