繁体   English   中英

跨站脚本

[英]cross-site scripting

我的服务器上有一个JavaScript。 我想向访问者提供可以以Google Analytics(分析)的方式放置在服务器上的javascript代码。 例如:

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

我已经完成所有工作,直到需要获取ID。 我只是不确定该用什么。

我同时尝试了location.href和location.search,但这使我获得了嵌入脚本的文件的url + param,而不是“ 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 =吗?

提前致谢!

您可以使用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

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

<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返回类似数组的对象

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM