gpt4 book ai didi

php - 将 JSON 和 HTML 安全地提供给 JavaScript

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:01:59 24 4
gpt4 key购买 nike

我正在考虑将 HTML 和 JSON 提供给 JavaScript 的安全方法。目前我只是像这样输出 JSON:

ajax.php?type=article&id=15
{
"name": "something",
"content": "some content"
}

但我确实意识到这是一个安全风险 -- 因为文章是由用户创建的。因此,有人可以在 AJAX API 中直接为内容插入脚本标签(仅作为示例)并链接到他的文章。因此,我现在想知道防止此类问题的最佳方法是什么。一种方法是对输入中的所有非字母数字字符进行编码,然后在 JavaScript 中解码(并在放入某处时再次编码)。

另一种选择是发送一些 header ,强制浏览器永远不呈现 AJAX API 请求的响应(Content-TypeX-Content-Type-Options).

最佳答案

如果您设置 Content-Typeapplication/json然后 NO Browser 将在该页面上执行 JavaScript。这是 RFC-4627 的一部分,谷歌使用它来保护自己。其他 Application/内容类型遵循类似的规则。

你还是要担心DOM Based XSS ,但是这将是您的 JavaScript 的问题,而不是 json 的内容。 Json 的另一个更奇特的安全问题是像这样的信息泄漏 vulnerability in gmail .

确保始终测试您的代码。有 Sitewatch free xss scanner ,或开源 Skipfish最后你可以用一个简单的 <script>alert(/xss/)</script> 手动测试它.

关于php - 将 JSON 和 HTML 安全地提供给 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3324926/

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