Как стать автором
Обновить
-1
0
Константин Абаев @dady_KK

ПМ

Отправить сообщение

Ловушки для хакера. Обнаруживаем взлом на раннем этапе с помощью Canarytokens

Время на прочтение7 мин
Количество просмотров32K
Honey Tokens (англ. — «медовые приметы/признаки/идентификаторы») одна из разновидностей идеи Honeypot, приманки для злоумышленников, позволяющей обнаружить факт взлома или опознать его источник. Когда атакующий уже проник в систему, он, скорее всего, выполнит действия, несвойственные обычному пользователю. Это можно использовать как способ обнаружения взлома. В статье мы рассмотрим, как легко сделать собственные триггеры для обнаружения взлома на раннем этапе. Такие ловушки полезно использовать системному администратору и даже обычному пользователю, переживающему о приватности своих данных.


До изобретения газоанализаторов шахтеры брали c собой в шахту канарейку. Из-за маленького организма и быстрого обмена веществ, птицы намного раньше реагировали на опасные газы в воздухе и предупреждали шахтеров.
Читать дальше →
Всего голосов 68: ↑68 и ↓0+68
Комментарии19

[Nginx] Как победить response_status = 0

Время на прочтение2 мин
Количество просмотров7.2K
Статья из разряда «заметки на полях».

TL:DR:
http2_max_field_size 8k; # всех спасет!


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

{
  "timestamp": "2020-01-17T08:41:51+00:00",
  "remote_addr": "zzz.zzz.zzz.zzz",
  "request_time": 0,
  "upstream_response_time": "",
  "upstream_header_time": "",
  "http_accept_language": "-language",
  "response_status": 0,
  "request": "",
  "host": "example.com",
  "upstream_addr": "",
  "http_referrer": "",
  "request_length": 5854,
  "bytes_sent": 0,
  "http_user_agent": ""
}
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии4

Модальные окна, которые мы заслужили

Время на прочтение3 мин
Количество просмотров33K

Начнем


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

Многие зададут вопрос: «Почему не использовать готовые решения?». Проблема в том, что этот функционал либо вообще не реализован, либо сделан очень плохо. Можно использовать самое простое и плохое решение:
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии99

Как оценить уровень владения английским языком

Время на прочтение4 мин
Количество просмотров124K


На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
Читать дальше →
Всего голосов 99: ↑95 и ↓4+91
Комментарии62

Опенсорс-хелпдеск как альтернатива Zendesk и Help Scout. Архитектура, дизайн и юзабилити

Время на прочтение6 мин
Количество просмотров13K


Это перевод ряда статей из блога одного опенсорсного хелпдеска (и общего почтового ящика) на Laravel. История данного проекта — хороший пример того, как опенсорс-сообщество может не просто повторить, но и местами улучшить дизайн и функционал уже готового распиаренного коммерческого продукта, а также стимулировать его развитие и изменение к лучшему.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии5

Сравнение производительности инструментов обхода блокировок\VPN

Время на прочтение8 мин
Количество просмотров53K
По мере того, как нам все активнее закрывают доступ к различным ресурсам в сети, все актуальнее становится вопрос обхода блокировок, а значит все актуальнее становится вопрос «А как же быстрее обходить блокировки?».

Оставим тему эффективности, с точки зрения обхода DPI\вайтлистов\блеклистов для другого случая, и просто сравним производительность популярных инструментов обхода блокировок.

Внимание: В статье под спойлерами будет много картинок.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии59

Накрутка показов на поиске Я. Директ: почему вы платите за клик в 1,5 раза больше

Время на прочтение4 мин
Количество просмотров21K
В последний квартал я столкнулся с тем, что у всех моих клиентов по контекстной рекламе, работающих в высококонкурентных нишах, резко упал CTR (кликабельность объявлений) на поиске.

При дроблении на ключевые слова, устройства и группы объявлений причину выявить не удалось. Однако при разбитии кампаний на поиске на пол и возраст, выявилась заметная аномалия: группы людей с неопределенными демографическими характеристиками имеют до 87% показов с почти нулевым CTR.


Рисунок 1. Отчет в Яндекс Директ по поисковой компании с характеристикой дробления пол и возраст

Как узнать, есть ли у вас накрутка показов?


Необходимо построить отчет по интересующим нас рекламным кампаниям в Я. Директ:

Как построить отчет показывающий накрутку показов

Рисунок 2. Выбираем интересующие нас кампании на поиске

Далее в поле “Показать статистику” нажимаем “Выполнить”:


Рисунок 3. Выполняем отчет в Я. Директ

Переходим в “Мастер отчетов”:


Рисунок 4. Переход в “мастер отчетов” Директ

Настраиваем интересующий нас отчет в “Мастере отчетов”:


Рисунок 5. Отчет по показам рекламы по половозрастным характеристикам

Первый признак накрутки показов в поисковых рекламных — это падение CTR (кликабельности).
«CTR (кликабельность, от англ. Click-Through Rate) — это отношение числа кликов на объявление к числу его показов, измеряется в процентах. Можно сказать, что этот показатель определяет эффективность работы объявления»
глоссарий Я. Директа.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии40

Медиавыражения в CSS — это не только max-width

Время на прочтение6 мин
Количество просмотров34K


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

После того, как наш дизайнер проделал потрясающую работу, продумав и нарисовав сайт, нам, разработчикам, было необходимо реализовать макет, сохранив его чистым и цельным для каждого устройства, от большого 2K экрана, на которых мы пишем код, до старого iPhone 4 с его 3.5-дюймовым дисплеем.

Несколько недель спустя веб-сайт был почти готов и я просматривал его, чтобы убедиться, что всё работает как нужно. Заметив, что макет главной страницы неправильно отображался на нашем iPad, я быстро изменил некоторые CSS-правила и исправил ошибку, но… это привело к проблемам отображения макета на всех всех ноутбуках с небольшим экраном
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии6

CSS-переход свойства height от 0px до auto

Время на прочтение2 мин
Количество просмотров31K
Здравствуй, Хабр!

Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto.

Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в DataGrid — строки с дополнительным контентом. Почитав интернет, нашёл несколько способов реализации, основные — через свойство max-height и на javascript. Реализация на javascript была исключена — есть же css с поддержкой переходов и анимаций. Остался max-height, тем более в примерах с выпадающими меню всё работает.
Читать дальше →
Всего голосов 20: ↑14 и ↓6+8
Комментарии42

Замена EAV на JSONB в PostgreSQL

Время на прочтение6 мин
Количество просмотров21K
TL; DR: JSONB может значительно упростить разработку схемы БД без ущерба производительности в запросах.

Введение


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

Самый простой путь решения этой проблемы – это создание столбца в таблице БД для каждого значение свойства, и просто заполнять те, которые нужны для определенного экземпляра сущности. Отлично! Проблема решена… до того момента, пока ваша таблица не содержит миллионы записей и у вас не возникнет необходимость добавить новую запись.

Рассмотрим паттерн EAV (Entity-Attribute-Value), он встречается достаточно часто. Одна таблица содержит сущности (записи), другая таблица содержит имена свойств (атрибутов), а третья таблица связывает сущности с их атрибутами и содержит значение этих атрибутов для текущей сущности. Это дает вам возможность иметь разные наборы свойств для разных объектов, а также добавлять свойства “на лету”, не изменяя структуры БД.
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии39

Где брать аудио для разработки игр и других коммерческих проектов? Библиотеки со звуками природы

Время на прочтение4 мин
Количество просмотров11K
Существует множество сервисов и приложений для релаксации, в которых можно послушать звуки природы. Но что если вы хотите использовать такие аудиозаписи в рамках собственного проекта?

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

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии2

Двойной VPN в один клик. Как легко разделить IP-адрес точки входа и выхода

Время на прочтение13 мин
Количество просмотров110K


TL;DR В статье описывается самый простой способ настроить VPN-сервер, у которого IP-адрес для подключения VPN-клиентов отличается от IP-адреса, с которого клиенты выходят в интернет.

Используете VPN для защиты приватности в интернете и арендуете для этого свой личный сервер? При этом вы единственный клиент, который подключается к этому серверу во всем мире? Так ли сложно найти ваш реальный IP-адрес, как вам кажется? С вступлением в силу пакета Яровой, это становится намного проще.

Double VPN — популярная тема, вокруг которой много спекуляций. Часто этим термином называют совершенно разные технологии, но почти всегда это означает разнесенные на уровне IP-адресов точки подключения и выхода в интернет. Мы рассмотрим самый простой способ настройки VPN-сервера в таком режиме, который не требует дополнительной настройки на серверной стороне и позволяет получить максимальную скорость и самые низкие задержки.
Читать дальше →
Всего голосов 49: ↑41 и ↓8+33
Комментарии59

Домофон — ухо шпиона?

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

В статье описана версия, — что если, сегодня эта возможность перекочевала в домофонные сети, более того, используется для негласного вмешательства в частную жизнь?

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

Сперва немного теории о видах домофона


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

Многоквартирный домофон работает по схеме мини АТС (аналоговой или цифровой).
Аналоговые (координатная система адресации) работают по принципу обычной телефонной связи с помощью аналогового коммутатора (мини АТС) и специального многожильного шлейфа, соединяющего коммутатор с квартирами, они более распространены и менее затратны.
Читать дальше →
Всего голосов 69: ↑57 и ↓12+45
Комментарии90

Когда 'a' не равно 'а'. По следам одного взлома

Время на прочтение6 мин
Количество просмотров112K
Пренеприятнейшая история случилась с одним моим знакомым. Но насколько она оказалась неприятной для Михаила, настолько же занимательной для меня.

Надо сказать, что приятель мой вполне себе UNIX-пользователь: может сам поставить систему, установить mysql, php и сделать простейшие настройки nginx.
И есть у него десяток-полтора сайтов посвященных строительным инструментам.

Один из таких сайтов, посвященный бензопилам, плотненько сидит в ТОПe поисковиков. Сайт этот — некоммерческий обзорник, но кому-то поперек горла и повадились его атаковать. То DDoS, то брутфорс, то комменты напишут непотребные и шлют абузы на хостинг и в РКН.
Неожиданно всё стихло и это затишье оказалось не к добру, а сайт начал постепенно покидать верхние строчки выдачи.

image

То была присказка, дальше сама админская байка.

Время близилось ко сну когда раздался звонок телефона: «Сань, ты не глянешь мой сервер? Мне кажется меня хакнули, доказать не могу, но ощущение не покидает уже третью неделю. Может мне просто пора лечиться от паранойи?»
Читать дальше →
Всего голосов 399: ↑393 и ↓6+387
Комментарии73

.container больше не нужен

Время на прочтение7 мин
Количество просмотров131K
Все верстальщики в своих проектах используют div.container для центрирования контента и этот способ имеет некоторые особенности, от которых можно избавиться. Прочитав эту статью, Вы узнаете про способ, который позволит полностью отказаться от контейнера. Я попытаюсь рассказать о плюсах и минусах использования контейнера и альтернативного способа центрирования контента средствами только лишь css.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии51

Как решить проблемы сайтов-агрегаторов с помощью резидентных прокси

Время на прочтение3 мин
Количество просмотров3.1K


Изображение: Pexels

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

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

Проблема в том, что зачастую владельцы сайтов, с которых берут данные агрегаторы, вовсе не хотят так легко предоставлять им доступ. Это можно понять – если информация о цене в интернет-магазине попадет на сайт агрегатор и окажется выше, чем у конкурентов, представленных там же – бизнес потеряет покупателей.
Читать дальше →
Всего голосов 23: ↑14 и ↓9+5
Комментарии4

Новый билд Nemesida WAF Free для NGINX

Время на прочтение3 мин
Количество просмотров5.6K

В прошлом году мы выпустили Nemesida WAF Free — динамический модуль для NGINX, блокирующий атаки на веб-приложения. В отличие от коммерческой версии, основанной на работе машинного обучения, бесплатная версия анализирует запросы только сигнатурным методом.

Особенности релиза Nemesida WAF 4.0.129


До текущего релиза динамический модуль Nemesida WAF поддерживал только Nginx Stable 1.12, 1.14 и 1.16. В новом релизе добавлена поддержка Nginx Mainline, начиная с 1.17, и Nginx Plus, начиная с 1.15.10 (R18).

Зачем делать еще один WAF?

Читать дальше →
Всего голосов 27: ↑19 и ↓8+11
Комментарии2

Что поставить на периметр сети: Cisco маршрутизатор или Cisco ASA?

Время на прочтение12 мин
Количество просмотров71K


Всем привет! Периодически при проектировании компьютерных сетей на базе оборудования Cisco возникает вопрос, что поставить на периметр сети: маршрутизатор или межсетевой экран Adaptive Security Appliance (ASA)? Далеко не всегда можно однозначно ответить на данный вопрос. Хотел бы в очередной раз сделать попытку и провести небольшое сравнение этих двух устройств. Вы заметите, что уже много раз это обсуждалось. Согласен. Но устройства постоянно развиваются: появляются новые модели, добавляется функционал. Поэтому иногда стоит отойти подальше и ещё раз посмотреть со стороны на данный вопрос. Вдруг что-то поменялось?
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии58

Защищаем сайт с помощью ZIP-бомб

Время на прочтение3 мин
Количество просмотров88K

Старые методы по-прежнему работают


[Обновление] Теперь я в каком-то списке спецслужб, потому что написал статью про некий вид «бомбы», так?

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

Когда я в возрасте 13 лет впервые захостил свою маленькую Linux-коробочку с доступом по SSH, я смотрел логи и каждый день видел IP-адреса (в основном, из Китая и России), которые пытались подключиться к моей сладенькой маленькой коробочке (которая на самом деле была старым ноутом ThinkPad T21 со сломанным дисплеем, жужжавшим под кроватью). Я сообщал эти IP их провайдерам.

На самом деле если у вас Linux-сервер с открытым SSH, то можете сами посмотреть, сколько попыток подключений происходит ежедневно:

grep 'authentication failures' /var/log/auth.log
Читать дальше →
Всего голосов 157: ↑155 и ↓2+153
Комментарии184

Индекс борща. Системный подход в оценке, сравнении, определении отношения цена/качество

Время на прочтение4 мин
Количество просмотров7.3K
Основной целью индекса борща BI (borsch index) является формирование непредвзятой, комплексной системы оценки и сравнения борща в разных местах и заведениях.
Кроме этого, представленная ниже методика – универсальный способ провести комплексную оценку не только борща, но и любого другого товара, оборудования, продукта, работы и услуги, а представленная в конце методология «справедливой цены» даст ещё один инструмент проверки назначаемых вами цен на свой товар или услугу.

Индекс BI включает интегральную оценку борща, которая выражается в баллах, а также стоимость борща.

Этап первый. Интегральная оценка


Для определения индекса борща BI на первом этапе необходимо провести интегральную оценку борща.

Интегральная оценка IA (integral assessment) служит для комплексной оценки вкусовых и визуальных качеств борща.

Результатом интегральной оценки будет присвоение борщу определенного количества баллов (возможный максимум 500 баллов). Чем большее число баллов набирает борщ, тем он по совокупности параметров лучше.

1. Выбираем параметры оценки борща

Мной определены 5 параметров, с помощью которых будет проводиться оценка борща:

  • Вкус и запах борща без сметаны;
  • Внешний вид, консистенция;
  • Вкус и запах борща со сметаной;
  • Подача;
  • Субъективное дополнение.

Данные параметры включают в себя следующие характеристики:
Читать дальше →
Всего голосов 31: ↑19 и ↓12+7
Комментарии21

Информация

В рейтинге
Не участвует
Откуда
Запорожье, Запорожская обл., Украина
Дата рождения
Зарегистрирован
Активность