gpt4 book ai didi

php - 保护 JSONP?

转载 作者:可可西里 更新时间:2023-11-01 12:19:38 28 4
gpt4 key购买 nike

我有一个使用 JSONP 进行跨域 ajax 调用的脚本。这很好用,但我的问题是,有没有办法阻止其他站点访问这些 URL 并从中获取数据?我基本上想制作一个允许的站点列表,并且只返回列表中的数据。我正在使用 PHP,我想我也许可以使用“HTTP_REFERER”,但我读过一些浏览器不会发送此信息....???有什么想法吗?

谢谢!

最佳答案

确实没有有效的解决办法。如果您的 JSON 可以通过浏览器访问,那么其他站点也同样可以访问它。对于 Web 服务器来说,除了 header 之外,几乎无法区分来自浏览器或另一台服务器的请求。就像 ILMV 评论的那样,引荐来源网址(和其他 header )可以被伪造。毕竟,他们是 self 报告的。

安全从来都不是完美的。一个足够坚定的人可以克服任何现有的安全措施,但安全的目标是建立足够高的威慑力,以阻止外行和/或大多数人投入必要的时间和资源来破坏安全。

考虑到这一点,您可以设置足够高的进入壁垒,这样其他站点就可能不会费心在设置了进入壁垒的情况下发出请求。您可以生成获取 json 数据所需的一次性 token 。一旦使用 token 来获取 json 数据, token 随后就会失效。为了检索 token ,必须使用嵌入在页面中的 token 请求网页,然后将 token 放入 ajax 调用中获取 json 数据。将其与过期 token 和 javascript 中的充分混淆相结合,您已经创建了足够高的障碍。

请记住,这并非无法规避。另一个网站可以从 javascript 中提取 token ,或者拦截 ajax 调用并在多个点劫持数据。

关于php - 保护 JSONP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3873834/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com