0

我的服务器上有一个 javascript。我想为我的访问者提供 javascript 代码,他们可以像 Google Analytics 那样将其放置在他们的服务器上。例如:

<script type="text/javascript" src="http://www.somedomain.com/script/script.js?id=2001102"></script>

我让一切工作到我需要获取 id 的地步。我只是不知道该用什么。

我尝试了 location.href 和 location.search,但这给了我嵌入脚本的文件的 url + 参数,而不是“script.js?id=XSOMEIDX”

在 script.js 我有以下内容:

function requestContent() {   
var script = document.createElement("script");
script.src = "http://www.somedomain.com/script/xss_script.php?id="I WANT TO INPUT ID HERE+"&url="+location.href;
document.getElementsByTagName("head")[0].appendChild(script);

}

有什么办法可以将 id=XSOMEIDX 放入 xss_script.php?id= 中?

提前致谢!

4

2 回答 2

1

您可以使用 URL 重写获取 id=XSOMEIDX 并将其放入 xss_script.php?id=

执行此操作的 mod 重写规则如下所示:

RewriteRule ^/scripts/([a-zA-Z0-0]+)/script.js$ /scripts/script.php?id=$1

这样,您可以简单地要求人们包括 yoursite.com/scripts/{id}/scripts.js

于 2012-04-23T19:45:08.537 回答
0

如何设置具有特定属性的外部脚本标签?

<script data-my-script="my_value" type="text/javascript" src="http://www.somedomain.com/script/script.js?id=2001102"></script>

在现代浏览器中,您可以这样做

var scripts = document.querySelectorAll("script[src][data-my-script]");
$.each(scripts, function(i, script) { console.log(script.src); });

并遍历 nodeList ...

注意:querySelectorAll 不能跨浏览器工作注意:querySelectorAll 正在返回一个类似数组的对象

于 2012-04-23T19:35:36.733 回答