![Что делать, если все ядро моего процессора оказывается загруженным, когда я просто посещаю определенный веб-сайт?](https://rvso.com/image/1554888/%D0%A7%D1%82%D0%BE%20%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%2C%20%D0%B5%D1%81%D0%BB%D0%B8%20%D0%B2%D1%81%D0%B5%20%D1%8F%D0%B4%D1%80%D0%BE%20%E2%80%8B%E2%80%8B%D0%BC%D0%BE%D0%B5%D0%B3%D0%BE%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B0%20%D0%BE%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%2C%20%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0%20%D1%8F%20%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%20%D0%BF%D0%BE%D1%81%D0%B5%D1%89%D0%B0%D1%8E%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%B2%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82%3F.png)
Я поклонник 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 не может это исправить.