CORS 中的 POST/GET 与 PUT/DELETE

2024-03-24

我刚刚读过this https://www.w3.org/Security/wiki/Same_Origin_Policy:

同源策略允许使用 GET 和 POST 的跨源 HTTP 请求 方法,但拒绝源间 PUT 和 DELETE 请求

PUT/DELETE 有什么特别之处?他们为什么被封锁?无论如何,您可以在 POST 方法内进行更新/删除。

使用 CORS,如果 POST 请求使用 xml/json 而不是 application/x-www-form-urlencoded,为什么会预检?

请解释为什么有些动词的处理方式与其他动词不同。

EDIT:我最终在一篇文章中写了这个article https://levelup.gitconnected.com/simulating-a-csrf-attack-part-1-5ec8b0f8b152?sk=b3a72bec0891b9d4641729330015ea87.


根本区别在于用户浏览网页触发的请求类型和脚本触发的请求类型。这种区别植根于网络历史,基于早期浏览器认为安全和不安全的概念。此后所有浏览器都试图保持向后兼容性,以免违反依赖于早期浏览器的服务器的期望de facto标准。

用户浏览网络时会产生哪些类型的请求?基本上,GET请求和POST由表单提交触发的请求。浏览器始终允许此类跨源请求,因此它们假设服务器旨在处理它们。但这不包括,例如,POSTS具有只能由脚本添加的自定义标头。 (有关请求安全与否的准确描述,请参阅获取规格 https://fetch.spec.whatwg.org/#main-fetch.)

看我的回答here https://stackoverflow.com/a/41687744/2395796有关 CORS 如何使用预检请求来保持与同源策略的向后兼容性的更多详细信息。

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

CORS 中的 POST/GET 与 PUT/DELETE 的相关文章

  • 是否可以阻止在每个 HTTP 请求中发送 cookie?

    我最近发现 这里 每个网络请求都会发送浏览器cookie吗 https stackoverflow com questions 1336126 does every web request send the browser cookies
  • Spring Security (3.2.5) HTTP POST 身份验证后不转发到原始请求

    我有一个示例 Spring MVC 应用程序 由 Spring security Spring 版本 4 0 1 RELEASE Spring security 3 2 5 RELEASE 保护 当我作为未经身份验证的用户发送 HTTP G
  • REST URL 结构建议

    我正在尝试为我正在开发的网站的愿望清单部分敲定一个宁静的网址结构 这是一个非常简单的模型 用户可以有许多愿望清单 每个愿望清单可以包含许多产品 目前我有明显的 CRUD URL 来操作愿望清单本身 GET account wishlists
  • HTTP实时音频流服务器

    作为概念验证 我需要创建一个 HTTP 服务器 该服务器在 GET 请求时应启动连续的非编码 非压缩音频数据流 WAV PCM16 我们假设音频数据是 4096 个随机生成的单声道音频样本块 采样率为 44 1kHz 我应该在 HTTP 响
  • HTTP 重定向图像可以吗?

    返回图片资源时返回301 302 303代码可以吗 我过去曾这样做过 而且似乎有效 这是好的做法吗 它与大多数浏览器兼容吗 是的 您可以重定向图像 浏览器将遵循重定向 但出于性能原因 您通常希望将重定向保持在最低限度 因为每个重定向都需要单
  • DefaultHttpClient GET 和 POST 命令 Java Android

    好的 这是我的应用程序 一个 Android 应用程序 允许我从移动应用程序 而不是从网站 将 CokeZone 代码提交到 CokeZone co uk 所以我编写了这部分代码来执行登录后命令 然后检查我是否登录后 问题是 发送 post
  • Angular2 CORS 问题

    我是 angular2 的新手 公平地说 我对尝试修复的知识知之甚少 但是我遇到了一些有关跨站点请求的问题 试图从另一个应用程序访问服务 但无论我尝试什么 我都会遇到这个问题去做 XMLHttpRequest cannot load htt
  • 从浏览器中删除cookie?

    有什么方法可以指示网络浏览器完全delete一个人的cookie是用PHP设置的吗 我不想expiry或者等待浏览器closed 对于删除 我的意思是实际上不再将其列在 cookie 列表中 尝试这样删除所有 cookie foreach
  • 在 Java Servlet 应用程序中设置 HTTP 201 响应的 Location 标头的正确方法是什么

    考虑以下代码向客户端发送 HTTP 201 已创建 响应 String url app things id 42 example response setStatus HttpServletResponse SC CREATED respo
  • 是否有管理 __utma、__utmz 等 cookie 的标准?

    无论我登录 Facebook 还是 Twitter 我都会受到以下名称的 cookie 轰炸 utma utmb utmc utmv 它们的功能是什么 是否有一个标准来管理这些在服务器端的使用方式 这些 cookie 通常与谷歌分析 htt
  • 您可以从 AuthorizeAttribute 返回 HTTP 响应而不引发异常吗?

    我在各种控制器上使用 AuthorizeAttribute 可能需要根据请求本身的某些属性返回 403 或 429 请求过多 我完全在自定义 OnAuthorization 实现中实现了它 然后在必要时抛出一个带有适当响应代码的新 Http
  • 使用 PHPcurl 和 CSRF 令牌登录

    我想从 PHP 脚本登录到另一个网站 但我总是收到这样的回复 403 Error CSRF token mismatch 我从网站上的隐藏字段中提取了 CSRF 令牌 但它似乎是错误的 这是我的代码 username testuser pa
  • HttpRequest PUT内容到poco库中

    我想使用 HTTP PUT 请求将一些数据从 C 应用程序发送到服务器 我在用poco http pocoproject org我的应用程序中的网络库 我正在使用这个代码片段 HTTPClientSession session uri ge
  • 在处理程序之后访问 HTTP 请求上下文

    在我的日志记录中间件 链中的第一个 中 我需要访问一些在链下游的某些身份验证中间件中编写的上下文 并且仅在处理程序本身执行之后 旁注 需要首先调用日志记录中间件 因为我需要记录请求的持续时间 包括在中间件中花费的时间 此外 当权限不足时 身
  • 返回重定向作为对 Ajax(fetch、XHR 等)请求的响应

    如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果服务器发送重定向 又名 302 响应加上 Location 标头 浏览器将自动遵循重定向 对此的回应second请求 假
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而
  • 为什么 CloudFront 根据 Accept-Encoding 改变 CORS 标头响应?

    我正在尝试让 CORS 与 Amazon S3 CloudFront 一起正常工作 设置我的 CORS 配置后 它似乎可以正常工作 curl H Origin https app close io I https d4389n07pf8cq
  • Access-Control-Allow-Origin值跨站缓存

    我正在尝试编写一个 nginx 配置来处理 http 和 https 上的两个站点 只要客户端从不访问这两个站点 它似乎就可以工作 但如果它们这样做 就会出现缓存 跨站点问题 Allow cross origin location eot
  • 网站(Google 和/或您)应如何处理 Accept-Language 标头?

    很长一段时间以来 我对谷歌在以下情况下的行为并不满意 并且在无意中注意到之后80 其他人 https stackoverflow com questions 1011167 what are common ui misconceptions
  • 对于一般不成功的请求(不是错误),适当的 HTTP 状态代码响应是什么?

    我正在创建一个 RESTful API 它将处理许多用户交互 包括使用存储的信用卡下订单 如果订单成功 我将返回 200 OK 如果订单请求格式错误或无效 我将返回 400 Bad Request 但如果订单实际处理过程中出现问题 我该怎么

随机推荐

  • 如何提高词法分析效率?

    在解析一个 3 GB 的大文件时DCG https www metalevel at prolog dcg 效率很重要 我的词法分析器的当前版本主要使用 or 谓词 2 http www swi prolog org pldoc doc f
  • CMake 和 pybind11 使用不一致的 Python 版本

    我正在 Ubuntu 20 04 上的 VSCode 1 46 1 中使用 CMake 3 16 3 和 pybind11 2 4 3 创建一个入门项目 默认情况下同时包含 Python 2 7 和 3 8 我想为Python3构建一个模块
  • 如何更改 Flutter 中的 Slider 标签颜色?

    Flutter 中可以更改 Slider 标签颜色吗 的构造函数中没有这个字段Slider class 根据 Flutter api 使用 valueIndicatorColor 这是 SliderThemeData 的属性 正如这里提到的
  • 当用户通过后退按钮到达时重新加载页面

    我有一个通用错误页面 任何已处理的错误都会重定向到该页面 我有一个管理页面 当用户调用错误时 用户会被带到错误页面 点击错误页面的后退按钮会导致管理页面加载不正确 所以我需要的是一种当我从错误页面返回时重新加载管理页面的方法 我尝试在管理页
  • 验证 htaccess 重写规则中的 utf-8

    我使用重写规则验证包含 utf 8 字符的 url RewriteRule a z 2 a z0 9 1 256 print 1 256 index php 语言 1 categories 2 get query 3 大 get query
  • VLOOKUP 和插值

    我正在尝试检查表中的特定数据 如果找到该数据 它将显示该数据 我用 VLOOKUP 做到了这一点 但现在如果数据不在表中 我想在两组数据之间进行插值 但我不知道该怎么做 所以我想要实现的是检查表中是否有数字 如果不是则需要进行插值 Exap
  • Android:中心启动屏幕图像

    我有一个带有启动屏幕的应用程序 启动屏幕在小型设备上看起来不错 但在大型平板电脑 模拟器 上看起来很糟糕 所以我把背景改成了wrap content 但它看起来与屏幕的一侧对齐 有人可以告诉我一种将背景图像居中的方法吗 这是我的splash
  • SublimeLinter ESLint 找不到插件

    在 Sublime Text Editor 3 x 中编辑 javascript 文件时 出现错误 Oops Something went wrong ESLint 6 0 1 ESLint couldn t find the plugin
  • 访问验证管道中的请求对象

    我正在尝试访问Request object从一个内Validation Pipe in nestjs 为了验证某些字段的唯一性 我需要ID UUID提供的参数PUT PATCH请求 数据结构本身不可用 任何想法 目前 根本不可能在 a 中访
  • Qt——将事件传递给多个对象?

    我基本上有3层 Window gt Scene gt View 每个人都需要处理一个mouseMove事件不妨碍其他人 不过 似乎只有最小的孩子才能参加该活动 我希望我可以处理该事件然后致电event gt ignore 将事件传递回堆栈
  • 如何处理 Google Cloud Functions 中的机密?

    这里的常见做法是什么 好像没有提供工具gcloud 我现在正在从本地计算机部署功能 因此我可以对秘密进行硬编码 但这似乎不合适 另外 CI CD 怎么样 在这种情况下 我需要将秘密作为环境变量传递 这甚至可能吗 您可以使用秘密经理 http
  • 代码格式化:如何将多行代码与特殊字符对齐?

    IDEA 或其插件之一能够将代码与特殊字符对齐吗 我的意思是这样代码 Map name gt Peter age gt 27 company gt Foobar 变换为 Map name gt Peter age gt 27 company
  • 是否有任何回调或任何东西(事件或nodeInfo中的任何参数)来知道辅助功能服务(TalkBack)已完成阅读?

    我有一个应用程序要求在列表视图中宣布文本 列表视图项在运行时添加 我必须一一宣布 我在谷歌和android文档中搜索 但我无法到达那里 请帮助我 如何知道无障碍服务读完文本 谢谢 简单的答案 不要这样做 这是愚蠢的 只需使用您可用的辅助功能
  • 如果是十进制值,则转换为两位小数并且将点分隔值转换为逗号分隔

    我目前的值如下所示 30 32 5 如果存在任何小数 如第二个示例 如何将它们转换为具有两位小数 并且将点分隔符替换为逗号 转换后 上面的数字将如下所示 30 32 50 Try var num 32 5 num num toFixed 2
  • 从另一个路由调用 hapi 路由

    我对 HapiJS 还很陌生 我正在构建一个服务 其中有两条路线 route 1 和 route 2 都使用插件架构 我已将两者注册为我的清单文件中的插件 我想从 route2 调用 route1 因此 route2 取决于 route1
  • 嵌套事务-回滚场景

    A con begin B con rollback con commit B con begin con commit 在上面的代码中 我在 A 处开始一个新的数据库事务 它成功执行了一些事务 之后B 开始执行 并且它也成功执行了一些事务
  • 在头文件中使用声明

    我一直在寻找有关使用的一些说明使用声明在头文件中 我正在四处搜索 但无法完全得到我正在寻找的答案 到目前为止我的研究得出的结论是 将它们用于非全局的范围是好的 而命名空间指令则不好 我明白 至少我希望如此 所以在我的例子中我使用shared
  • 如何获取到 CGPath 的距离以进行命中测试?

    我有一个打开的 CGPath UIBezierPath 我想检测用户是否触摸它 即某个点是否在距路径一定距离内 路径是开放的 即直线 曲线 而不是形状 它可以包含直线和曲线元素 如何获得到路径的距离来进行命中测试 CGPath UIBezi
  • 如何等待matplotlib动画结束?

    考虑直接取自 Matplotlib 文档的以下代码 import numpy as np import matplotlib pyplot as plt import matplotlib animation as animation im
  • CORS 中的 POST/GET 与 PUT/DELETE

    我刚刚读过this https www w3 org Security wiki Same Origin Policy 同源策略允许使用 GET 和 POST 的跨源 HTTP 请求 方法 但拒绝源间 PUT 和 DELETE 请求 PUT