我正在为外部第三方网站提供一些横幅,并且需要跟踪每个网站的展示次数和点击次数,还需要不时修改横幅图片和链接,而不要求第三方在其网站上执行此操作
我已经提出了以下功能,可以使用GA广告系列跟踪点击次数,并将展示跟踪为我服务器上IIS日志中的请求。
包含在外部第三方网站上的HTML
<div id="affBanner" style="width:500px"></div>
<script src="http://www.mywebsite.com/affiliates.js"></script>
affiliates.js的内容
var affHost = window.location.hostname.replace(/[^0-9a-zA-Z]/g, "");
var affBanner = document.getElementById('affBanner');
affBanner.innerHTML = '<a href="http://mywebsite.com?utm_source='+affHost+'" target="_blank"><img src="http://mywebsite.com/images/banner.jpg?aff='+affHost+'" alt="" style="width:100%;" /></a>';
这是有效的,但我有两个问题。
我正在以主机名的形式收集输入,然后使用正则表达式对其进行清理,然后在横幅链接href和图像源中使用它。这段代码是否容易受到XSS或其他攻击?
有没有人建议如何改进此代码或获得类似结果的其他方法?请记住,我正在尽量使这一点变得简单。