我注意到一些Web应用程序返回了AJAX响应,其中JSON数据嵌入在注释块中。例如,这将是一个示例响应:
/*{
"firstName": "John",
"lastName": "Smith",
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": 10021
},
"phoneNumbers": [
"212 555-1234",
"646 555-4567"
]} */
在注释块中嵌入JSON数据有什么好处?是否存在某种安全漏洞,这可以通过这样做来避免?
答案 0 :(得分:7)
这样做可以避免第三方网站使用<script>
标记劫持您的数据,并覆盖Object
构造函数以在构建数据时获取数据。
当JSON数据被注释包围时,它不再可以通过<script>
标记直接执行,从而“更安全”。
请参阅http://www.fortifysoftware.com/servlet/downloads/public/JavaScript_Hijacking.pdf处的PDF以获取更多信息(带示例)