在尝试使用SoundCloud API时,我发现在查询 / tracks
时,API可以返回带有标题字段的曲目,其中包含未转义的脚本标记。
以下是一个示例:


 SC.initialize({

 client_id:'YOUR_CLIENT_ID'
 
});

 SC.get('/ tracks',{

 q:'',limit:200,tags:“ning”,linked_partitioning: 1


})。then(function(tracks){

 for(var i = 0; i< tracks.collection.length; i ++){& #xA;
 document.write(tracks.collection [i] .title +“< br />”);

}

})。 catch(函数(错误){

 console.log(错误);

});


& #xA; 这会返回一个包含以下内容的曲目列表: https://soundcloud.com/laguhitss/merem-melek-desy-ning-nong
(小心,听起来很糟糕) 。您会注意到标题是 Merem Melek Desy Ning Nong Mp3&lt; script&gt; window.location ='http://mymp3.asia/'< / script&gt;
如果将此标题无效注入页面(如上所述,或使用 .innerHTML =
等),则会导致页面重定向到某些广告垃圾邮件。
我觉得SoundCloud首先应该在上传时从曲目标题中删除标签,并在API返回此对象时清理曲目标题(和其他字段) 。
&#xA;&#xA;我不知道SoundCloud API开发人员是否意识到这一点。我也不知道如何让他们意识到。我试图找到联系信息,但不能。
&#XA;