从今天早上起,我发现一些未知的脚本正在“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>
我没有在网站上添加这段代码。我正在寻找这个的根本原因。但直到这一刻我找不到删除此脚本的解决方案。到目前为止我做了什么/观察到了什么:
删除了“正文”关闭标记:无脚本
尝试添加一个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]
该网站托管亚马逊网络服务。有没有人有过这样的经历?
答案 0 :(得分:6)
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);
}
})();
只要脚本创建了另一个脚本标记,它就会吐出一个堆栈跟踪。这应该足以让你弄清楚哪个脚本正在为你做这件事。
答案 1 :(得分:0)
在评论中写道:
是的,仅从特定域名,我尝试上传相同的文件 与另一个域名关联的不同主机&amp;脚本不是 在那里显示
将此脚本添加到网站的内容是什么?
您的托管服务希望吸引更多访问者,因此请在您的网页中添加此插件。
此插件的功能是什么?
此插件正在创建指向社交网站和其他链接的链接...因此,如果您在Google上搜索您的网站,您可以在网页上留下比您在网页上更多的内容,例如社交链接等。您可以阅读相关内容here
如何防止这种情况发生?
您可以在this address查看或下载脚本。如果您使用任何免费托管,通常为什么您的网站上有这个“广告”,否则如果您有正常的付费托管尝试联系支持并询问您为什么在网站上有此脚本或尝试停用它网站管理员。
答案 2 :(得分:0)
最后我找到了根本原因!! 实际上页面是通过不同的IP而不是真正的托管IP(可能是DNS攻击?)来提供的。我在检查开发人员工具下的标题时发现了这一点 - &gt;响应标题:
via:Stark 1.0(像这样的东西)。
然后我尝试了AWS主机&amp;的公共IP。该脚本根本没有出现。但是如果我尝试按域名加载网站,则设置此Via头。所以我告知域名注册商这个问题,不知道他们是如何解决这个问题的。