https://example.com/private/data.json上有一个脚本,它仅将 JSON 返回给已登录的用户
(如果您的会话中有正确的条目,服务器仅返回 JSON)
{
"something":"private"
}
在https://example.com/private/script.js是这个简单的脚本,它下载 data.json 并在控制台中打印它
fetch("https://example.com/private/data.json", {method: "GET"})
.then(response => console.log('fetch', response.text()) )
.catch(error => console.error(error));
假设有人将相同的脚本复制到多个位置。例如:
- https://example.com/script.js
- https://example.com/anything/script.js
- https://example.com/anything/else/script.js
我的问题
- 即使您已登录,我也想阻止从https://example.com/private/script.js以外的其他脚本下载 data.json
- 服务器应该返回什么标头、Content-Security-Policy、content-policy(或其他任何内容),以便浏览器只能从运行在https://example.com/private/script.js的脚本中列出此 JSON,但可以不在脚本https://example.com/script.js或https://example.com/anything/script.js中列出它?