我想知道我们是否可以对 JavaScript 代码进行一些分析,以检测包含这些 JS 的网页是否会向其他域发送 HTTP 请求。
例如,有人将他们的静态网页文件放在我的网络服务器(域 A)中,我不希望他们的文件向其他站点(例如域 B)发送 HTTP 请求。
他们有一些方法可以做到这一点:
使用 img 标签:
<img src=“http://domain.b.com/statics”>
使用脚本标签。
使用表单标签。
使用 iframe 标签。
此外,我们还可以使用 JS 来生成 HTTP 请求,例如:
var f = document.createElement('form');
f.action = "http://domain.b.com/statics";
...
Javascript 可以被混淆,上面的 javascript 可以被压缩为:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0=3.2(\'1\');0.5="9://8.7.6/10";',10,11,'f|form|createElement|document|var|action|com|b|domain|http|statics'.split('|'),0,{}))