Что делать, если все ядро ​​моего процессора оказывается загруженным, когда я просто посещаю определенный веб-сайт?

Что делать, если все ядро ​​моего процессора оказывается загруженным, когда я просто посещаю определенный веб-сайт?

Я поклонник Markdown, и есть очень полезный инструмент под названиемТипора(Это бесплатно, нонетОткрытый исходный код).

Когда я зашел на его официальный сайт, чтобы загрузить его, там не было ни анимации, ни сложного сервиса. Однако мои вентиляторы на моем компьютере работали на полной скорости, когда я заходил на этот сайт. А когда я открыл диспетчер задач, я увидел, что целое ядро ​​съедено. Что делает этот сайт? Есть ли майнер биткоинов на JavaScript, включенный в исходный код?

Кроме того, есть ли у самой Typora такие же проблемы?

Существуют ли какие-либо полезные инструменты для анализа поведения определенного веб-сайта или программного обеспечения?

решение1

Я попытался получить доступ к этому сайту в моей виртуальной машине, и обнаружил ту же проблему. Сайт Typora запускает следующий скрипт:

<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-54f423356e25706b" async="async"></script>

Typora также использует следующие скрипты без кэширования, чтобы иметь возможность использовать новейшие ресурсы:

https://m.addthisedge.com/live/boost/ra-54f423356e25706b/_ate.track.config_resp
https://s7.addthis.com/js/300/addthis_widget.js

Я заблокировал addthis.comи addthisedge.comиспользую hostsфайл в C:\Windows\System32\drivers\etc. Это файл, используемый для сопоставления доменного имени с IP. Я указал эти домены на мой локальный случайный IP. После этого сайт не смог найти скрипты и не смог их выполнить.

Что такое addthis.com? СогласноХранительэто трекер социальных сетей. Я обнаружил, что он пытался считывать данные с других сайтов, которые я использовал в то время.

После блокировки этих сайтов загрузка ЦП нормальная.

решение2

Большинство веб-браузеров поставляются со встроенным инструментом разработки, который называется "Profiler". Этот инструмент можно использовать для определения того, какая функциональность javascript на веб-сайте потребляет сколько времени обработки. Инструменты разработки обычно вызываются с помощью F12.

Использование его на этом сайте подтверждает ответснова. Большую часть времени обработки тратит скрипт https://s7.addthis.com/js/300/addthis_widget.js(точнее, функция i._handleScroll). Скрипт минимизирован, поэтому мне не хочется больше исследовать, что он на самом деле делает. Либо этот скрипт настолько ужасен, либо разработчик веб-сайта допустил ошибку, когда интегрировал его в свой веб-сайт. В любом случае, это не вам исправлять. Вы можете заблокировать этот скрипт с помощью noscript или занести весь домен в черный список в hosts, но вполне возможно, что веб-сайт больше не будет работать правильно, если вы это сделаете.

Кстати: Веб-сайты, использующие вычислительную мощность своих посетителей для майнинга биткоинов или другой криптовалюты, на самом деле существуют. Я сам видел такие веб-сайты. Но они обычно не используют CPU. Они используют GPU посетителя черезAPI-интерфейс WebGL. Это означает, что вентиляторы вашего GPU начнут вращаться, но загрузка CPU в диспетчере задач останется довольно умеренной. Если вы хотите проверить текущую загрузку вашего GPU, посетите веб-сайт поставщика. Они часто предлагают сопутствующие программы для своих драйверов, которые показывают такую ​​информацию.

решение3

Зависит от вашего браузера. В Firefox вы можете установитьNoScriptи выборочно добавить JS в белый список для этого сайта, возможно, это конкретный ресурс JS, который не является строго необходимым для просмотра самого Typora.

Ghostery, возможно, также способен делать то же самое в Chrome, хотя у меня гораздо меньше опыта в том, что он делает, но он гораздо более автоматизирован, чем Noscript.

Предупреждение: Мне нравится NoScript, но он может стать немного параноидальным в отношении вещей, и вам нужно будет много времени, чтобы добавить его в белый список. Лучше иметь другой браузер, в котором он также не будет доступен.

Обновление: да, это действительно большой свинья. Firefox показывает FirefoxCPWebContent на 170% на моем Mac Activity Monitor. И это при отключенном JS всего сайта. Похоже, они сильно облажались с кодом — для этого подпроцесса открыто много дескрипторов шрифтов.

Итог: даже NoScript не может это исправить.

Связанный контент