首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取POST的跨站点JSON响应的最佳实践?

获取POST的跨站点JSON响应的最佳实践?
EN

Stack Overflow用户
提问于 2019-03-21 00:08:48
回答 2查看 0关注 0票数 0

我正在使用具有多个子域的Intranet。我可以控制每个子域,因此不需要考虑跨站点请求的安全性。我有PHP脚本和JSON响应我想从多个子域调用而不重复。对于GET请求,我可以使用AJAX和JSONP执行此操作,但这不适用于POST请求。我看到的一些替代方案,其中没有一个看起来非常好:

  • 以最小的响应POST到本地子域的副本,然后使用JSONP从中心位置获取完整响应
  • POST和GET都是使用JSON在本地子域上的副本
  • 使用mod_rewrite在后端使用带有JSON的中央脚本使用本地URL
  • 使用符号链接使用带有JSON的后端中央脚本的本地URL

我错过了一些简单的东西吗?你会在这做什么?

EN

回答 2

Stack Overflow用户

发布于 2019-03-21 08:47:35

您可以在服务器端编写一个简单的反射器。向每个域添加一个脚本,只需将您的ajax请求传递到相应的域即可。此脚本可以非常简单(1或2行代码),避免了跨站点脚本问题,并且意味着您不需要在现有脚本中复制复杂的业务逻辑。

它会为您的服务器带来额外的工作,但这对您来说可能不是问题。

我可以在我管理的网站上找到的最接近的示例代码如下。在这里,我们需要能够在HTTPS连接上使用Googles Chart API(它还不支持)。解决方案是添加以下脚本来传递调用...

代码语言:javascript
复制
<?php
// Set header so our output looks like a PNG
header("Content-Type: image/png");

// Reflect the image from googles chart API
echo file_get_contents('http://chart.apis.google.com/chart?'.$_SERVER['QUERY_STRING']);
?>
票数 0
EN

Stack Overflow用户

发布于 2019-03-21 09:27:19

只需看看这个https://developer.mozilla.org/En/HTTP_access_control页面。您需要的所有内容 - 为接受发布请求的所有脚本添加标头。例:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档