Digital Data Layer — сердце вашей tag-management системы. Безопасность сторонних почтовых клиентов на Mac: какие данные и кому вы добровольно отдаете

В начале декабря состоялся долгожданный релиз десктопной версии почтового клиента Spark для macOS. Это приложение пользуется популярностью на iPhone и iPad за счет привлекательного дизайна, всей необходимой (но не избыточной) функциональности, а также большого количества востребованных опций типа закрепления важных писем, умной папки «Входящие», уведомлений о прочтении и так далее. Компания Apple оперативно внесла Spark для macOS в список лучших приложений года в Mac App Store, что только добавило популярности этому почтовому клиенту. Лично я пользуюсь Spark на iPhone, iPad Pro, а с момента начала бета-тестирования десктопной версии отказался от «тяжелого» AirMail на Mac. Впрочем, у бесплатного почтового клиента с удобным интерфейсом и отличной функциональностью все-таки есть подводные камни. Разработчик Владимир Шабанов в Facebook обратил внимание пользователей на политику конфиденциальности Spark.

Почему опасны бесплатные неофициальные email приложения вроде Spark? Потому что они получают доступ ко всем вашим письмам вне вашего ноутбука, айфона и gmail у себя на сервере - и когда его взломают, большинство ваших аккаунтов в магазинах, соцсетях, платежных системах, дейтингах, букингах, стимах и дропбоксах тоже окажутся взломаны. А у компаний, которые разрабатывают такие приложения, нет мотива вкладываться в безопасность, потому что они не берут с вас денег за приложение.

Чтобы не копировать очень большой текст с предысторией, советами и выводами, советуем прочитать о Spark в публикации Владимира Шабанова . А в редакции iG мы задались вопросом: как на самом деле обстоят дела со сбором и хранением пользовательских данных при использовании сторонних почтовых клиентов? Для этого мы заглянули в непопулярные среди большинства пользователей разделы «Политика конфиденциальности» и выбрали оттуда главные факты, которые вам нужно знать при использовании сторонних почтовых клиентов на Mac. Вкратце речь идет о том, что практически все приложения отправляют на серверы разработчиков пользовательские данные, включая адреса электронной почты, в некоторых случаях пароли, тексты писем, списки контактов, данные календаря и различные обезличенные данные. А некоторые приложения даже собирают сведения об устройствах, номера телефонов, местоположение или полностью копируют на сервер все доступные в аккаунте электронной почты данные. Также мы спросили Яндекс и Mail.ru относительно сбора пользовательских данных и писем при работе с учетными записями сторонних сервисов и механизма отправки push-уведомлений о новых письмах, однако представители компаний не смогли оперативно ответить на запрос редакции.

Разумеется, каждый разработчик заявляет о том, что пользовательская информация хранится на надежных серверах типа Amazon Web Services, а также они все предпринимают некие дополнительные меры защиты. Однако нужно ли говорить, что о стопроцентной безопасности речь не идет? В то время как порой происходят утечки пользовательских данных самых крупных и надежных интернет-компаний, полагаться на защиту небольших стартапов было бы опрометчиво. С одной стороны от всех угроз можно отмахнуться под предлогом того, что в вашей почте нет никаких секретных данных, но не стоит забывать, что для злоумышленников даже в самом скучном почтовом ящике найдется много всего интересного. В наше время адрес электронной почты выполняет роль ключевого идентификатора, к которому привязываются аккаунты платежных систем, социальных сетей, различных сайтов и сервисов, а в некоторых случаях пароль от электронной почты подходит к другим учетным записям, что повышает возможный ущерб от взлома. Проще говоря, нельзя безалаберно относиться к выбору почтового клиента, а при использовании стороннего софта обязательно нужно понимать, какие именно данные вы передаете разработчикам.

Spark


1. Помимо обезличенной статистической информации об использовании приложения вас могут попросить предоставить некоторую личную информацию.
2. Первый адрес электронной почты, который будет добавлен, используется в качестве имени пользователя. На него вам могут отправлять письма с информацией о новых функциях, обновлениях, объявлениях и запросы оставить отзыв об использовании.
3. Серверы Spark используются только для доставки push-уведмолений, а в некоторых случаях для отправки сообщений по электронной почте.
4. Учетные записи, если это возможно, добавляются с помощью аутентификации OAuth. В противном случае адреса и пароли хранятся на облачном сервере Amazon Web Services.
5. Помимо политики безопасности Amazon Web Services, Spark используют ряд мер, предотвращающих доступ к данным третьими лицами, а также протокол HTTPS и ассиметричное шифрование данных учетных записей.
6. Spark загружает на сервер тему и часть письма для отправки push-уведомления и удаляет эти данные сразу после доставки уведомления. Сообщения хранятся в зашифрованном виде на сервере.


1. Почтовый клиент может запрашивать добровольную передачу таких данных как имя адрес электронной почты, номер телефона и банковской карты.
2. Polymail собирает и хранит данные о сценариях использования приложения и его функций, а также мобильных устройствах, на котором оно работает, включая: операционную систему, модель смартфона или планшета, уникальные идентификаторы устройства, информацию мобильной связи и номер телефона.
3. При использовании Polymail разработчики могут собирать информацию о местоположении пользователя, IP-адреса, данные GPS, а также информацию с других сенсоров мобильного устройства.
4. Polymail собирает и хранит информацию о контактах пользователей, с которыми вы обмениваетесь письмами. Эти данные служат для улучшения работы сервиса.
5. Polymail собирает и хранит информацию об отправленных письмах (тему письма и вложения) для обеспечения работы функции уведомления о прочтении.
6. Для улучшения сервиса Polymail индексируем письма: дату получения сообщения, папки и имена отправителей.
7. Cookies и прочие анонимные идентификаторы собираются и хранятся Polymail и ее партнерами.


1. Почтовый клиент Airmail не собирает и не хранит письма на облачных серверах. При использовании таких опций как Snooze Sync, все необходимые данные синхронизируются непосредственно между устройствами.
2. Airmail собирает и хранит такие данные как Cookies, обезличенную информацию о сценариях использования приложения и адреса электронной почты.
3. Сбор и использование Cookies производится только с целью идентификации пользователя для сохранения настроек и для предоставления требуемых пользователем услуг.
4. В некоторых случаях доступ к собранным и хранящимся на серверах данным может быть предоставлен некоторым сотрудникам, связанным с работой Airmail: администраторам, специалистам по продажам, маркетологам, юристам.
5. Пользовательские данные собираются для обеспечения работы Airmail, а также для следующих целей: взаимодействие со сторонними социальными сетями и платформами, управления контактами и отправки сообщений, аналитики, ремаркетинга, поведенческого таргетинга, в коммерческих целях, для обработки платежей, взаимодействия со службой технической поддержки и обратной связи.


1. Если учетная запись не поддерживает аутентификацию OAuth, логин и пароль хранятся на облачном сервере AWS.
2. На облачные серверы происходит загрузка писем для отправки push-уведомлений.
3. Письма загружаются за последние 14 дней на мобильных устройствах и за 60 дней на Mac.
4. Newton получает и хранит информацию от наших партнеров о пользователях, которые отправляют вам сообщения по электронной почте.
5. Для использования функции «Отметка о прочтении» Newton собирает и хранит данные об отправленных письмах.
6. Newton обещает, что не продает и не передает третьим лицам персональную информацию, а также использует протокол HTTPS и дополнительные инструменты защиты при передачи данных на серверы AWS.


1. Использование почтового клиента Canary не предусматривает предоставление доступа к персональным данным пользователей и передачу их на облачные серверы.


1. При создании аккаунта Nylas N1 собирает и хранит персональные данные, например, адрес электронной почты, имя и фамилию, которые могут быть использованы для идентификации.
2. При использовании приложения Nylas N1 собирает и хранит данные учетной записи и связанные пароли.
3. Ввод данные учетной записи электронной почты означает согласие на предоставление Nylas N1 прав на создание копии всего содержимого почтового ящика, календаря и списка контактов.
4. Nylas N1 также использует автоматизированные средства сбора данных, такие как Cookies и Web Beacons.


1. Почта, календари, файлы, контакты, параметры и другие данные из нее будут автоматически синхронизироваться с устройством посредством облачного сервера.
2. Outlook хранит данные на серверах Майкрософт для поддержки дополнительных возможностей, таких как быстрый поиск, персонализированная фильтрация менее важной почты и добавление вложений из связанных поставщиков хранилища.


1. На официальном сайте приложения информация в разделе «Политика конфиденциальности» относится только к работе самого сайта Unibox. Информация о сборе и хранении персональных и обезличенных данных при использовании почтового клиента Unibox отсутствует.

С версии 1.6 в Android существует «сервис специальных возможностей». Нетрудно догадаться, с какой целью он был создан, но нас, как людей, стремящихся как раз к неограниченным возможностям, этот сервис интересует с несколько другой стороны. Сегодня мы будем писать программу, которая позволит следить за вводом в других приложениях!

Зачем нужен сервис специальных возможностей?

Он позволяет расширять интерфейс обычных приложений, чтобы помочь пользователям с ограниченными возможностями или тем, кто может временно оказаться не в состоянии в полной мере взаимодействовать с устройством. Например, юзерам за рулем автомобиля, ухаживающим за маленьким ребенком или находящимся на очень шумной вечеринке могут потребоваться дополнительные или альтернативные интерфейсы обратной связи.

В Android есть стандартный сервис спецвозможностей - TalkBack . При необходимости разработчики могут реализовать и свои собственные. Такие сервисы стало возможно писать с незапамятных времен (Android 1.6, API уровень 4), а с Android 4.0 (API уровня 14) они получили значительные улучшения. Через «библиотеку поддержки» эти улучшения реализованы и для устройств с API версией ниже 14.

Данный сервис позволяет просмотреть описание всех окон, работающих приложений и получить набранные пользователем данные (кроме вводимых паролей; согласись, что логинов и текстовых сообщений тоже во многих случаях достаточно).

В этой статье я расскажу, как максимально просто реализовать сервис для перехвата клавиатурного ввода.

Для этого требуется создать наследник AccessibilityService . В методе подключения onServiceConnected нам нужно задать фильтр событий (класс AccessibilityServiceInfo ) , которые будет слушать сервис. А в методе onAccessibilityEvent обрабатывать эти события.
В манифесте приложения обязательно следует добавить строчки описания сервиса:

Если все сделано верно, то в логе можно увидеть что-то вроде этого:

OnAccessibilityEvent: TYPE_VIEW_TEXT_CHANGED android.widget.EditText com.android.chrome 113326642 сайт

Класс AccessibilityServiceInfo позволяет выставить фильтры для определенных приложений (кто сказал «мобильных банков» или «клиентов социальных сетей»?). По нужному нам событию можно делать скриншоты.
Совсем просто это делается на рутованном устройстве, а если рута нет, то нужно искать сторонние библиотеки для получения скриншотов из сервиса.
Пример кода получения скриншота из сервиса на рутованном устройстве:

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

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

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

  • История посещений. Здесь все очень просто. Браузер всегда запоминает сайты, которые вы посещаете. Каждую страничку. Эту историю потом можно посмотреть. Иногда, это бывает очень полезно. Но, бывают случаи, когда нам нужно очистить историю в Опере. Например, когда мы сидим в интернете с чужого компьютера. Скажу по секрету, что в таком случае, лучше использовать "Приватный просмотр". "Меню" – "Создать приватное окно" В этом режиме Opera не запоминает историю посещений и другую информацию.
  • История загрузок. История файлов, которые мы скачивали с интернета через браузер.
  • Кэш (кэшированные изображения и файлы) . Это разные элементы веб-сайтов, которые браузер сохраняет для того, чтобы при следующем посещении сайта не загружать эти файлы повторно. И сайт уже открывается намного быстрее. Очистка кэша бывает полезна в тех случаях, когда например сайт отображается не совсем правильно. Или не отображается обновленная информация на сайте. Иногда, из-за сохраненного кэша даже не открываются, или не отображаются настройки маршрутизатора. В таком случае, нужно просто удалить кэш, и браузер повторно загрузит актуальную информацию с сайта.
  • Куки. Нет, это не кот из канала SlivkiShow:). В браузере cookie, это небольшой фрагмент данных, которые браузер получает от сайта, хранит их, и при посещении сайта отправляет их обратно. Благодаря cookie, нам не нужно каждый раз авторизоваться на сайтах, задавать каике-то настройки в разных сервисах и социальных сетях, заново добавлять товары в корзину в интернет-магазинах и т. д. Будьте внимательны, если вы очистите куки в Опере, то скорее всего вам придется заново авторизоваться на сайтах, и задавать какие-то настройки.
  • Пароли. Здесь все очень просто. Это пароли от разных сайтов, на которые вы входили под своими данными.
  • Данные для автозаполнения форм. Когда мы заполняем какие-то формы, то Opera запоминает информацию которую мы вводим, и при повторном заполнении этих форм предлагает нам сохраненные варианты. Это очень удобно, я сам часто пользуюсь этой фишкой. Так вот, можно очистить эту информацию, если это необходимо.
  • Данные сторонних сервисов. Многие советуют очищать эти данные, когда появляются проблемы в работе VPN в Opera.

Что есть что мы разобрались, самое время переходить к очистке необходимых нам данных в браузере Опера.

Opera: удаляем историю, кэш, cookie, пароли, данные форм и сторонних сервисов

Все очень и очень просто. Открываем Оперу, и нажимаем на кнопку "Меню" в левом верхнем углу. Наводим мышку на пункт "Другие элементы", и выбираем пункт "Очистить историю посещений" . Или нажимаем сочетание клавиш Ctrl+Shift+Del .

Сразу откроется небольшое окно. Первым делом, в выпадающем меню выберите за какой период вы хотите очистить данные (за последний час, день, неделю, 4 недели, весь период) . Тогда выделите галочками пункты, которые нужно очистить. Выше я подробно расписывал по каждому пункту. И для очистки нажимаем на кнопку "Очистить историю посещений".

Все данные будут полностью очищены.

Еще один способ, которым можно удалить историю посещений в Опере

Не знаю, пригодится ли он вам, но очистить историю можно еще через разные программы для очистки системы от мусора. Самая популярная, наверное, это CCleaner. На вкладке "Приложения" можно выделить пункты, которые необходимо очистить в браузере Opera.

Там так же можно очистить историю из других браузеров, и почистить Windows от ненужных файлов. Но смотрите осторожно с этой программой. Особенно с разделом "Очистка реестра". Сильно не увлекайтесь.

Вот такие советы. Надеюсь, эта статья была для вас полезной. Всего хорошего!

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

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

В свою очередь, каждый такой партнер обладает некими уникальными знаниями о клиенте, которые также были бы полезны интернет-магазину. Однако, получить эти данные обратно порой не так просто. Мало того, стоит прекратить работу с партнером, они могут быть потеряны навсегда.

Каждый сторонний сервис владеет частью «пазла», зная о пользователе какую-то информацию. Однако, у магазина нет унифицированного и целостного профиля пользователя.

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

Становится все более ясной необходимость реализовать и стандартизировать процесс передачи пользовательских данных от интернет-магазина к партнеру (в сторонние теги) и обратно. Проблема заключается в том, что все партнерские системы имеют собственную структуру данных, собирают и передают их различными способами.

Это ведет к тому, что данные на стороне клиента никак не организованы. Нет никакого порядка, целостности и согласованности. Нет никакого контроля над тем, как и кем данные собираются и используются.

Попытки разобраться в этом хаосе данных отнимают огромное количество времени и денег, что совсем не соответствует быстрой и гибкой data-driven культуре. Сотрудникам интернет-магазинов приходиться тратить время на рутинные вещи и бесконечные интеграции, вместо того, чтобы работать над стратегическими задачами, напрямую влияющими на прибыль. Это значительно замедляет скорость и эффективность организации в целом.

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

Запущенный несколько дней назад проект http://digitaldata.readme.io как раз и призван решить эту проблему!

Что такое Digital Data Layer?

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

Для решения этой проблемы и был создан стандарт Digital Data Layer. Это открытый набор правил, определяющих стандарты взаимодействия и передачи данных между сайтом и сторонними системами.

Digital Data Layer (DDL) - это глобальный JavaScript объект, который содержит все динамически переменные, отражающие текущее состояние страницы и пользовательской сессии. Все переменные внутри DDL могут быть использованы внутри tag management систем, таких как Google Tag Manager, а также другими вендорами и скриптами, установленными на сайте.

К примеру, DDL может содержать информацию о просматриваемых товарах (id, цена, и т.д.), информацию о пользователе (имя, email, этот пользователь новых или вернувшийся, подписан он на рассылку или нет), или информацию о товарах, которые были только что куплены на e-commerce сайте.

Преимущества использования

ЧИСТОТА КОДА

Если вы заглянете в код своего Google Tag Manager вы увидите, какой хаос там творится. Данные не организованы. Нет порядка, целостности и согласованности. Нет контроля над тем, как и кем данные собираются и используются.

Каждый сторонний сервис навязывает свой формат передачи одних и тех же данных. Код вашего сайта превращается в свалку вызовов сторонних тегов, что приводит к сложностям в понимании того, что вообще происходит на сайте.

С Digital Data Layer код становится унифицированным и упорядоченным. Одни и те же данные используются много раз и просто преобразовываются в разные форматы.

ПРОДВИНУТАЯ СЕГМЕНТАЦИЯ

Наличие реализованного Digital Data Layer открывает возможности для продвинутого сегментирования. К примеру, DDL позволяет таргетировать маркетинговые кампании по определенным критериям:

  • Таргетировать на пользователей с LTV > 100 000 руб.
  • Которые за последний месяц не открыли ни одного письма из рассылки.

DDL также позволяет таргетировать пользователей используя исторические данные и данные, переданные сторонними скриптами и тегами.

АНАЛИТИКА

На каждой странице, где реализован Digital Data Layer - аналитические системы получают возможность собирать информацию, которая в нем находится. Это открывает дополнительные возможности в аналитике и понимании, как влияют различные переменные на конверсию.

Но что еще более важно, наличие этих данных помогает определять потенциальные проблемы на сайте. После чего могут быть разработаны основанные на данных гипотезы для их устранения.

МЕНЕДЖМЕНТ СТОРОННИХ СЕРВИСОВ И ТЕГОВ

Каждому сайту очень часто приходит сталкиваться с необходимостью установки и настройки новых тегов (скриптов сторонних вендоров). Несложно заметить, что большинству тегов необходимы одни и те же данные, к примеру:

  • Order ID
  • Сумма заказа
  • Список купленных товаров
  • Название товара
  • ID товара
  • Тип страницы

Как только вы интегрируете Digital Data Layer - вы сможете устанавливать новые теги без какой-либо необходимости вносить изменения в код сайта. Все это можно будет делать непосредственно в вашей Tag Management системе.

ПЕРЕДАЧА ДАННЫХ МЕЖДУ СТОРОННИМИ СЕРВИСАМИ

Хотите показать ретаргетинг только пользователям, которые не открывают вашу email-рассылку? Раньше на подобную интеграцию могли уйти месяцы. Теперь же вам достаточно загрузить данные из ESP об открытии писем в Digital Data Layer, что даст возможность системе ретаргетинга построить нужный сегмент.

БЫСТРАЯ И БЕЗБОЛЕЗНЕННАЯ МИГРАЦИЯ

Хотите полностью заменить какую-либо стороннюю систему на другую, либо провести тест между ними?

Теперь миграция займет у вас не более 5 минут. При этом никаких изменений на сайте не потребуется, т.к. вся коммуникация теперь ведется через стандартизированный слой данных.

ВЫГОДА ДЛЯ ВСЕЙ КОМАНДЫ

Интеграция Digital Data Layer станет неоценимой инвестицией в будущее вашего сайта, т.к. по сути, это фундамент маркетинга, основанного на данных.

С ЧЕГО НАЧАТЬ?

Подробную документацию и примеры использования DDL можно найти на сайте ddmanager.ru .

Внедрение DDL обычно занимает от 2 до 5 дней. После завершения, любые новые интеграции сторонних сервисов будут делаться в 8-10 раз быстрее (зачастую даже без привлечения IT-специалистов).

Digital Data Manager содержит много полезных функций для работы с событиями и изменениями внутри DDL. Более подробную техническию документацию можно найти на сайте проекта - http://digitaldata.readme.io/docs/работа-с-событиями

Кроме того, Digital Data Manager позволяет добавлять кастомные интеграции, при помощи которых можно использовать данные DDL и передавать их в Google Analytics, GTM, Driveback, Retail Rocket, Criteo и любую другую стороннюю систему.

Статистика использования ресурсов хостинга

На каждой услуге виртуального хостинга RU-CENTER ведётся учёт использования следующих ресурсов:

  1. Оперативная память - размер выделенной памяти для работы программного обеспечения на хостинге, устанавливается в мегабайтах в соответствии с тарифным планом.
  2. Процессорное время - время в секундах, которое потратил процессор сервера на выполнение задачи, например, скрипта сайта. Значение лимита 50% на процессорное время в тарифном плане означает, что за период в 1 минуту скрипт может полностью использовать 1 ядро процессора в течение 30 секунд. Лимит 200% означает, что за период в 1 минуту допустимо использовать полностью 2 ядра процессора, то есть 120 секунд процессорного времени.
  3. Число дисковых операций - количество операций ввода-вывода, выполняемых системой хранения данных за минуту.
  4. HDD чтение - скорость чтения информации с диска сервера, мегабайт в минуту.
  5. HDD запись - скорость записи информации на диск сервера, мегабайт в минуту.

Информация об использовании ресурсов размещена в разделе Ресурсы Статистика .

При нажатии на график происходит переход к детальной информации по использованию отдельного ресурса:

При наведении курсора на точку графика, вы увидите потребление ресурсов в этот момент времени.

Причины повышенного потребления ресурсов

В случае превышения установленных лимитов по тарифу, на контактный e-mail договора отправляется уведомление о необходимости проанализировать ситуацию и принять меры по снижению нагрузки на хостинг.

Основные причины повышенного потребления ресурсов:

  1. Использование ресурсоёмкой CMS , например 1C-Bitrix. Выбирайте .
  2. Высокая посещаемость сайта . В этом случае рекомендуем переход на или .
  3. Неоптимизированные скрипты на сайте - скрипты, алгоритм выполнения которых является неэффективным. Например: подсчёт заведомо известных данных, неоптимальные методы расчёта, лишние циклы и др.
  4. Неоптимизированные запросы к базе данных MySQL . Проблемы могут возникать из-за неправильно сформированных индексов, большого объёма выбираемых данных, большой вложенности запроса и т.д.
  5. Активность поисковых роботов . Роботы могут замедлять работу сайта, если их много и они проводят одновременное сканирование для обновления своей поисковой базы.
  6. Вредоносный код на сайте . Нагрузка на сервер может быть вызвана работой вредоносных скриптов на хостинге.

Способы снижения потребления ресурсов

1. Отключите неиспользуемые модули веб-сервера Apache и расширения модуля PHP

По умолчанию на хостинге включены модули Apache: auth_module, cgi, realip_module, rewrite_module, autoindex_module, env_module, expires_module

Проверьте, включены ли у вас следующие модули Apache и отключите их: для работы большинства сайтов на PHP и MySQL они не требуются. Сделать это можно в разделе
Управление веб-сервером Управление модулем PHP панели управления хостингом. Для просмотра списка модулей необходимо нажать на ссылку Управление расширениями .

  • FastCGI - требуется, если вы самостоятельно устанавливаете на хостинге какое-либо программное обеспечение, работающее в качестве FastCGI-сервера.
  • gzip_module - требуется, если вы настраиваете gzip-сжатие. Помимо включения модуля требуется дополнительная настройка сжатия в файле .htaccess . Отключите модуль, если вы не пользуетесь данной функциональностью.
  • mime_magic_module - позволяет веб-серверу определять mime-типы файлов, для работы большинства сайтов достаточно стандартного mime_module.
  • Perl - он же mod_perl , требуется для работы perl-скриптов, специально написанных под mod_perl. Для запуска perl-скриптов в большинстве случаев используется модуль CGI (см. статью )
  • proxy_module - требуется, если вы планируете настроить проксирование запросов с помощью веб-сервера apache.
  • bandwidth_module, usertrack_module, speling_module, limitipconn_module - эти модули потребляют небольшой объем памяти, но их функциональность большинству сайтов не требуется, поэтому их также можно отключить.

Управление расширениями модуля PHP производится в разделе панели управления хостингом Управление веб-сервером Управление модулем PHP в соответствии с инструкцией .

  • Eaccelerator, APC - кэшируют данные в оперативной памяти, поэтому требуют большое ее количество. На виртуальном хостинге оперативной памяти недостаточно для эффективной работы данных модулей.
  • mysql, mysqli, pdo_mysql - модули для работы с базой данных MySQL, обычно сайту требуется какой-либо один из них, отключите неиспользуемые.
  • imagick, gd - модули для работы с графикой, если сайт может работать с библиотекой gd, лучше использовать ее, так как она потребляет значительно меньше памяти.
  • imap - позволяет работать с почтовыми серверами по протоколу imap, большинству сайтов эта функция не требуется.
  • dba, sqlite, pgsql, pdo_sqlite, pdo_pgsql - модули для работы с соответствующими СУБД. Большинство сайтов работает с использованием СУБД MySQL , эти модули можно отключить.

Если вы не уверены, нужен ли для работы сайта тот или иной модуль, проанализировать влияние на работу сайта того или иного модуля можно, отключая их по одному и проверяя корректность работы сайтов.

2. Проанализируйте лог-файлы сайта

На хостинге в каталоге /var/log/ размещаются лог-файлы:

  • /var/log/ваш_домен.access.log – лог обращений к сайту,
  • /var/log/ваш_домен.error.log – лог ошибок.

Просмотреть их можно при подключении к хостингу по . Скачать лог-файлы вы можете с помощью файлового менеджера панели управления. Вы сможете увидеть, какие обращения были к сайту в моменты высокого потребления памяти.

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

3. Проверьте работу скриптов сайта со сторонними серверами

Если ваш сайт получает данные со сторонних сервисов, замедление их работы или недоступность может оказать влияние работу вашего сайта. Чем медленнее отвечает сторонний сервис, тем больше времени находятся в оперативной памяти процессы Apache .

4. Проанализируйте работу скриптов сайта и запросы к базе данных MySQL

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

Мы рекомендуем проконсультироваться с разработчиками сайта относительно оптимизации SQL-запросов. Чем быстрее выполняются запросы сервером баз данных, тем быстрее веб-сервер получит необходимые данные, сформирует ответ клиенту и освободит память.

Для просмотра запросов к базе данных, которые возникают при обращении к сайту, и времени их выполнения вы можете воспользоваться интерфейсом , вкладка Процессы .

Оптимизация запросов к БД должна сводиться к следующим результатам:

  • во всех запросах используются для выборки данных индексы,
  • минимизировано использование временных файлов и операций filesort.

Все эти данные для каждого из запросов можно получить с помощью команды EXPLAIN в соответствии с документацией по MySQL .

5. Проанализируйте верстку сайта

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

6. Проверьте сайт на наличие вредоносного кода

Большинство сайтов, построенных на базе популярных CMS, обладают определёнными уязвимостями в системе безопасности. Разработчики регулярно выпускают обновления для устранения уязвимостей, однако защититься от взлома удаётся не всегда. Это происходит по причине того, что чаще всего взлом происходит через сторонние плагины или изменённые темы оформления.

Проверьте хостинг на наличие вредоносного кода с помощью .