从今天早上起,我发现一些未知的脚本正在“body”关闭标记之前,脚本是:
<script> var addthis_config = {"pubid":"ra-554ac5c71847b3c2"}; </script><script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-554ac5c71847b3c2"></script>
<script> if (addthis && addthis.layers) { addthis.layers({'share':{'mobile':false}});}</script>
我没有在网站上添加这段代码.我正在寻找这个的根本原因.但直到这一刻我找不到删除此脚本的解决方案.到目前为止我做了什么/观察到的:
删除了“body”关闭标记:没有脚本
试图添加一个html文件(带基本标签)index.html文件:发现脚本是在正文关闭之前注入的.
脚本只能在主页上看到.
文件上传到具有不同域的不同主机:无脚本
Web服务器是Apache,.htaccess的内容如下所示:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)mywebsite\.ae [NC]
RewriteRule ^(.*)$http://www.mywebsite.org/$1 [R,L]
RewriteRule ^(.*)/$/$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
该网站托管亚马逊网络服务.以前有没有人有过这样的经历?
解决方法:
http://www.addthis.com/academy/the-addthis_config-variable/
您正在查看的页面正在使用addThis,或者第三方脚本正在添加它.
如果这是您的页面,并且您想要找到添加它的页面,请将此代码放在页面顶部
document.createElement = (function () {
var _realCE = document.createElement;
return function (name,options) {
if (name.toLowerCase() === 'script') {
try {
throw "script added to page";
}
catch(e) {
console.warn(e.message);
console.warn(e.stack);
}
}
return _realCE.apply(document,arguments);
}
})();
只要脚本创建了另一个脚本标记,它就会吐出一个堆栈跟踪.这应该足以让你弄清楚哪个脚本正在为你做这件事.