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 中发送 的相关文章

  • 如何在 Laravel 5 中通过键获取所有缓存项的列表?

    Laravel 中的 Cache 类具有 get itemKey 等方法来从缓存中检索项目 以及 Remember itemKey myData1 myData2 来将项目保存在缓存中 还有一个方法可以检查缓存中是否存在某个项目 Cache
  • Symfony 3新建项目报错

    我开始编写有关 Symfony 3 的教程 在使用以下命令创建新项目时遇到问题 php symfony phar new Symfony 我有这个错误 GuzzleHttp Exception RequestException Error
  • 如何将一个表单的文件上传字段中的值复制到另一个表单的文本字段?

    我有一页上有两种不同的表格 第一个表单允许用户上传图像文件并通过电子邮件发送 第二个表单根据用户输入生成 URL 为了将图像名称添加到 URL 我需要在第二个表单中有一个字段 该字段从第一个表单的字段中复制图像名称 我不想让用户浏览并选择图
  • mysqli::real_connect 和 new mysqli 对象在连接数据库方面有什么区别?

    我正在使用这种方法连接到mysql db this gt Con new mysqli this gt DB Server this gt DB User this gt DB Pass this gt DB DB 当我使用这种方法连接时有
  • 为什么将 MySQL 凭据放在 www 目录之外? [复制]

    这个问题在这里已经有答案了 可能的重复 将核心类放在 Web 根目录之上 好还是坏主意 https stackoverflow com questions 3648739 putting core classes above the web
  • 下拉 24 小时选项值和 12 小时显示

    我需要创建一个时间数组 以便在 HTML 下拉列表中使用 数组键应采用 24 小时格式 值应采用 12 小时制 包含 am 和 pm 在数据库中我想存储 24 小时格式 有没有一种快速的方法来创建数组而不是每小时键入 example 00
  • SAPUI5 等待延迟对象 // 等待 .done() 函数

    我知道有几个线程对此进行讨论 但我认为在 SAPUI5 上下文中没有线程回答有关 SAPUI5 中的延迟 同步调用的一般主题 在我的控制器中我得到 test function var dfd Deferred var sServiceUrl
  • 如何在 HTML 表格上使用分页?

    我正在尝试使用这个分页library http flaviusmatis github io simplePagination js 在我的 HTML 表格页面 特别是浅色主题 中 但不知何故 我无法理解如何在我的 HTML 页面中以这种方
  • 从 html5

    我正在寻找一种方法来根据用户代理字符串将控件属性添加到视频标签 我不希望在 iPad 和 Android 之外的任何浏览器或设备上出现控件属性 所以我认为用户代理是最好的识别方法 因为 ipad 和 android 一词出现在各自的 UA
  • ASCII“../”是 PHP 中指示目录遍历的唯一字节序列吗?

    我有一个 PHP 应用程序 它使用 GET参数来选择文件系统上的 JS CSS 文件 如果我拒绝输入字符串包含的所有请求 或者可见 7 位 ASCII 范围之外的字节 当路径传递到 PHP 的底层 基于 C 文件函数时 这是否足以防止父目录
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 如何将 JSON 数据从 Android 发送到 php url?

    我想将登录信息从我的应用程序发送到 php url 因为这我的应用程序将崩溃 任何人都可以帮助我解决这个问题 这是我的服务器登录方法 我想将数据发送到此登录方法 Method public method login Parameters 3
  • 将 SoapUI 请求转换为 CFHTTP

    我正在 SoapUI 中查看一个将标头信息发送到特定端点的请求 但我很难在 ColdFusion 中重新创建它 下面是 RAW 请求在 SoapUI 中的样子 gt gt GET https test 01 mywebsite com da
  • 如何使用 Jquery .animate() 函数创建连续滚动内容? [复制]

    这个问题在这里已经有答案了 可能的重复 在jquery中实现圆形滚动条 https stackoverflow com questions 812049 implementing circular scroller in jquery 我想
  • PHP strtotime() 未返回正确的月份

    由于当前月份 年份是 2012 年 1 月 为什么以下代码返回 2011 年 12 月而不是 2011 年 11 月 echo date F Y strtotime 2 months 如果有影响的话 这是在 PHP 5 3 0 上 要获得您
  • 在firefox上用js改变表单方法

    我需要使用 javascript jQuery 或纯 更改表单的方法属性 我的表单有 method post 我尝试用以下方法更改它 submit button click function var url input id url val
  • 使用 javascript/jquery 从数据库格式化日期的正确方法

    我正在调用包含日期时间数据类型的数据库 日期看起来像这样 2005 05 23 16 06 00 000 当用户从列表中选择某个项目时 我想在表格中显示它 我调用我的控制器操作并返回所有时间的 Json 并将它们放入表中 问题是日期完全错误
  • PHP 启动:无法加载动态库 php5.4.3/ext/php_ffmpeg.dll 不是有效的 Win32 应用程序

    再会 我尝试在 Windows 7 计算机上安装 dll 文件 php ffmpeg 但不断收到此错误 29 Jan 2013 11 37 00 UTC PHP Warning PHP Startup Unable to load dyna
  • 如何在PHP中获取div中的所有链接

    我想从另一个网站打开一个页面 并提取一个中的所有链接 href div of class layout 2 2 在此页面中 我如何使用 PHP 来做到这一点 我想复制layout 2 2中的每个链接this https url 网页 这是我
  • jQuery 如何实现延迟滑动?

    我正在使用以下 jQuery div 框向上滑动 5 秒后淡出 有没有办法实现这一点 因为该框需要很长时间才能出现 document ready function load limit slideUp 500 have tried fast

随机推荐

  • 需要帮助使 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