Search
Write a publication
Pull to refresh
30
0
Send message

Fail2ban и nginx: блокируем нежелательный трафик к определенному URL

Reading time2 min
Views58K
Доброго времени суток!

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

Читать дальше →

«Нет времени объяснять!» или Как реализовать трансляцию с IP камеры на сайт?

Reading time7 min
Views116K
image


Пожалуй, мне везет на идиотские задачи в самый неподходящий момент. Это что, карма такая?! Ну да ладно…
В данном «отпускном» посте речь пойдет о том, как при наличии 3g модема и ноутбука реализовать трансляцию с IP-камеры на сайт.
Сам пост я бы не написал, если бы не задал вопрос на «Тостере», где мне подсказали, что гуглить.

Что мы имеем?


  1. Недешевая IP камера AXIS Q1755, которую я даже в руках не держал. Сама камера находится в городе «А» и подключена через тормозной 3g модем.
  2. Сервер на Debian 7, который крутится на почти дохлом Core2Duo. Хотя не такой уж он и дохлый, но для данных задач подходит не очень. Ах, да, сам сервер живет в городе Б.
  3. Сайт, на который необходимо повесить плеер. Находится на другом, более производительном сервере, в том же городе Б.
  4. Я, который находится в городе В, с ноутбуком, 3g-модемом и ограниченным трафиком в 4gb.

Читать дальше →

Типичные ошибки при защите сайтов от CSRF-атак

Reading time5 min
Views84K


В настоящее время в сфере обеспечения безопасности веб-сайтов и приложений возникла очень интересная ситуация: с одной стороны, некоторые разработчики уделяют особое внимание безопасности, с другой, они напрочь забывают о некоторых видах атак и не считают ошибки, позволяющие выполнить данные атаки, уязвимостями. Например, к такой категории можно отнести CSRF (Сross Site Request Forgery). Эта атака позволяет производить различные действия на уязвимом сайте от имени авторизованного пользователя. Если вы не слышали о таком, то я рекомендую прочитать соответствующую статью в Википедии, чтобы иметь общее представление об этом виде атак. Основная часть статьи предназначена тем, кто обеспокоен правильной защитой своих сайтов от CSRF.
Читать дальше →

oDesk (Upwork). Мой опыт за полтора года

Reading time12 min
Views445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →

10 ответов на вопросы по работе с заказчиком

Reading time1 min
Views32K
После прошедшего PM-Weekend удалось поймать selikhovkin и попросить записать несколько видео по самым популярным вопросам про управление проектами. Сегодня — первое видео:

10 ответов на вопросы про работу с заказчиком




В рамках видео Иван тезисно раскрыл следующие вопросы:
  1. Как заинтересовать бизнес в повышении зрелости системы управления?
  2. Методы по формированию ожиданий у заказчика по проекту и их использование
  3. Как понять, что хочет заказчик?
  4. Как удерживать заказчика от раздувания требований?
  5. Как научить заказчика доверять разработчику?
  6. Какие методики/методологии ведения проектов и общения с заказчиком существуют?
  7. Саботаж сотрудников заказчика (как бороться)?
  8. Как сообщить заказчику, что проект идет не по плану, какие фразы использовать, как сгладить впечатление?
  9. Особенности работы с гос.заказчиками
  10. Что делать менеджеру на проекте, который заказчик пускает на самотек?

Читать дальше →

Бюджетная многокамерная FullHD видеосъёмка концерта своими руками

Reading time15 min
Views49K
Прежде всего, конечно же, нужно сделать оговорку, что многокамерную съёмку нельзя в принципе сделать только своими руками, так как один человек физически не может одновременно работать сразу с пятью камерами. Так что, как минимум, видеооператороры нам всё-таки понадобятся. А в остальном, всё будет делаться своими руками с использованием подручных средств. И я постараюсь рассказать максимально подробно на конкретном примере о имеющихся нюансах (правда без указания конкретных денежных эквивалентов, так как это будет противоречить моим договорённостям с организатором мероприятия).
Читать дальше →

mysqlnd — проводник между PHP и MySQL

Reading time16 min
Views67K


Расширение mysqlnd появилось ещё в PHP 5.3, но до сих пор малоизвестно среди разработчиков. Однако оно незаменимо, если ваша система основана на MySQL. Если вы хотите узнать, почему это расширение так важно, что оно собой представляет, как его использовать и какие оно даёт преимущества — читайте статью.
Читать дальше →

Малоизвестные функции в WordPress

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

Дабы уменьшить количество расстройств, я решил описать несколько малоизвестных, но весьма полезных функций:

make_clickable
Находит в тексте ссылки и делает их кликабельными.
Пример:
$string = "This is a long text that contains some links like http://www.wordpress.org and http://www.wordpress.com .";
echo make_clickable( $string ); 


popuplinks
Добавляет target='_blank' rel='external' всем ссылкам в тексте.
Пример:
$string = "This is a long text that contains some links like <a href='http://www.wordpress.org'>http://www.wordpress.org</a> and <a href='http://www.wordpress.com'>http://www.wordpress.com</a> .";
echo popuplinks( $string ); 


wp_list_pluck
Достает определенные поля из коллекции.
Пример:
$posts = get_posts();
$ids = wp_list_pluck( $posts, 'ID' ); // [1, 2, 3, ...]


antispambot
Преобразовывает адреса электронной почты в символы HTML, для защиты от спам-ботов.
Пример:
$email = 'example@email.com';
echo '<a href="mailto:' . antispambot( $email ) . '">' . antispambot( $email ) . '</a>';

Читать дальше →

Распространенные ошибки при построении ИТ-инфраструктуры малого бизнеса

Reading time10 min
Views55K

Которые все совершают, и из-за которых потом приходится все переделывать




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

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

В данной статье я освещу несколько моментов, на которые стоит вовремя обратить внимание, и которые могут помочь компаниям избежать потерь, связанных с полным переделыванием ИТ-инфраструктуры по мере роста бизнеса:
Читать дальше →

Мониторинг PostgreSQL + php-fpm + nginx + диска с помощью Zabbix

Reading time11 min
Views36K
Много информации в сети по Zabbix, много и шаблонов самописных, хочу представить на суд аудитории свои модификации.
Zabbix — очень удобный и гибкий инструмент мониторинга. Хочешь — сотню мониторь, хочешь — тысячу станций, а не хочешь — следи за одним сервером, снимай сливки во всех разрезах. Буду не против отдать на github, если кто коллекционирует схожие.

image

Так случилось, что решили мы выложить на хостинг базу данных с оберткой из php-fpm+nginx. В качестве БД — postgres. Мысли собирать данные о работе машины были еще до покупки хостинга — это нужно, это полезно! Волшебным пенделем к внедрению системы послужили тормоза жесткого диска на нашей VDS станции — в начале скриптом каждую минуту кладем время и замерянную скорость в файл, а потом в экселе строим графики, сравниваем как было/стало, снимаем количественную статистику. И это всего один параметр! А вдруг виноват не VDS, а наши приложения, которые на нем работают. Вобщем, мониторить надо много, мониторить надо удобно!
Читать дальше →

Android Планшет вместо Авто магнитолы

Reading time9 min
Views535K
Сейчас многие владельцы автотранспорта сталкиваются с проблемой убогости штатных и космической дороговизны хороших магнитол с современными функциями. Вот и я купив машину 2010 года не смог ужиться с CD проигрывателем и поспешил поставить вместо него таблетку — Планшет. В статье описаны аспекты не освещённые в остальных источниках информации. В частности не как физически врезать планшет в машину, а как всё настроить так чтобы было приятно и удобно пользоваться.
image
Читать дальше →

Социальная инженерия на практике: «физический доступ» на закрытую конференцию Кевина Митника

Reading time8 min
Views125K
«Физический доступ — это проникновение в здание интересующей вас компании. Мне это никогда не нравилось. Слишком рискованно. Пишу об этом — и меня уже пробивает холодный пот.» Кевин Митник, «Призрак в Сети. Мемуары величайшего хакера»



Еще в студенческое время, когда проводились олимпиады и конференции по информационной безопасности меня бесило то, что не принимались методы и работы, включающие в себя социальную инженерию (СИ). Как так! Ведь легендарный уже в те времена Митник говорит, что 99% взлома происходит с использованием СИ.

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

Под катом отрывок из книги Митника про физический доступ и история про проникновение на конференцию Митника в Москве 2013.
Читать дальше →

Что тормозит развитие электронного документооборота в России?

Reading time6 min
Views21K
Рынок систем электронного документооборота (СЭД) в текущем году отмечает 20-летие, а рынок юридически значимого ЭДО — 2 года.
Качество работы с документами в российских компаниях продолжает значительно уступать данному показателю за рубежом, работа с данными более 70% сотрудников по-прежнему не автоматизирована.
По оценке ФНС, в России в год выписывается около 15 млрд. счетов-фактур, а по данным некоторых операторов, за 2013 год было передано менее 10 млн. электронных документов. Т. е. проникновение — менее 0,1%, тогда как в странах Евросоюза этот показатель составляет около 20%.

image

Что же тормозит развитие электронного документооборота в России?

1. Устоявшееся мнение о большей надежности бумажного документа

Главная сложность на пути к безбумажному документообороту – устоявшееся на уровне общества и государства мнение о якобы большей надежности бумажного документа, заверенного подписью и печатью.
Российские компании сильно озабочены вопросом несанкционированного доступа к информации, хранящейся в СЭД.
Безусловно, работа с электронными документами в системе предъявляет новые требования к информационной безопасности современного предприятия. Это не только обеспечение сохранности и надежного резервирования электронного архива, но и разграничение доступа сотрудников к электронным документам, предотвращение атак на электронную инфраструктуру предприятия извне; антивирусная защита; ведение тотального контроля над целостностью информационной системы и всеми действиями пользователей.
Читать далее

И опять атака на сайты Wordpress — перебор + XMLRPC

Reading time2 min
Views69K
С полудня субботы на моем сервере, где хостится около 25 сайтов на Wordpress, начались дикие тормоза. Так как мне удалось пережить предыдущие атаки (атака 1 — ровно год назад, атака 2 — в марте) не замеченными, то я не сразу понял, в чем дело.

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

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

Оптимизации WordPress. Конкурс «ВПС на год за лучшие идеи!»

Reading time9 min
Views28K
По данным HackerTarget.com 20.9% сайтов из списка Alexa (104 684 из 500 000) работают на CMS WordPress. Из небольшого движка для блогов WordPress вырос в универсальную платформу для разработки сайтов, породив целую экосистему.

Компания Aberdeen Group провела исследование, согласно которому увеличение времени загрузки сайта на 1 секунду имеет следующие последствия:
  • уменьшение количества просмотров страницы на 11%;
  • снижение удовлетворенности покупателей на 16%;
  • снижение рейта конверсии посетителей в покупателей на 7%.

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

В этой статье мы затронем тему оптимизации WordPress. Для лучшего раскрытия темы в будущих статьях мы проводим конкурс: пришлите нам рекомендации по оптимизации WordPress, не вошедшие в эту статью. Автору наиболее полных и полезных советов по оптимизации будет предоставлена VPS 1024 на год. В конце статьи ссылка на регистрацию бесплатной Cloud VPS для экспериментов с оптимизацией WordPress.

Тестирование производительности WordPress до оптимизаций


Давайте определим время загрузки сайта. Для тестирования воспользуемся сервисом GTMetrix.

Infobox GTMetrix VPS

Получено время загрузки страницы по сети 2.62 секунды.
Читать дальше →

Лучшие грабли российских IT-стартапов

Reading time7 min
Views70K


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

2. «Сам дурак»
Большая проблема — нежелание слушать мнение окружающих. Когда половина проекта готова и внезапно становится понятно, что проект нежизнеспособен, есть два варианта: резко меняться или сворачиваться. Знаете, что часто делают руководители IT-стартапов? Перестают слушать людей снаружи, превращают команду в секту и упорно допиливают продукт. Потому что полработы уже сделано.

3. Не знать конкурентов
Офигенный подход аутистов — взять и сделать прототип без изучения рынка. Незнание прямого конкурента, косвенного конкурента и западных аналогов продукта — это не самая хорошая идея. Нужно смотреть, кто уже работал в этом направлении и, главное, с какими проблемами сталкивался. Потому что эти проблемы придут к вам. Ещё полезно замерять показатели конкурентов и сравнивать со своими. Если конкурентов нет — это повод насторожиться. Возможно, ваш продукт никому не нужен.
Читать дальше →

PHP Zend сертифицирование сегодня

Reading time4 min
Views25K
image
Причины для прохождения PHP Zend сертифицирования могут быть разными: кто-то хочет проверить свои знания, кому-то хочется выделится из огромного числа php разработчиков, а у кого-то это требование на работе. Месяц назад мне удалось успешно пройти сертифицирование, и в этой статье я расскажу как выглядит этот экзамен сегодня, где искать материалы для подготовки, а так же солью немного инфы о реальных вопросах с экзамена.
Читать дальше →

Инструменты IT-департаментов больших компаний: как избавляться от хаоса и считать каждую копейку

Reading time8 min
Views52K

Форма заявки

Представьте, что вы приходите в большую компанию руководить ИТ-департаментом, и понимаете, что там просто конь не валялся. В самом простом случае у вас есть от 50 человек, куча бумажек про закупки и перемещения, инвентарная опись оборудования… и, пожалуй, всё.

Первая задача, с которой начинается разбор хаоса — это аудит подразделений/процессов и работа с самыми важными и тормозящими. Хочется точно знать, как решаются сбои — заводится система тикетов-инцидентов… Хочется автоматизировать большую часть задач — система тикетов обрастает функционалом бизнес-правил. Хочется, чтобы пользователи разгрузили саппорт — и вот уже у них есть свои инструменты для формирования заявок, причём такие, что отправить заявку, не заполнив все нужные данные, просто нельзя.

Следующий уровень — понять, что ИТ вообще должны делать и в какие сроки — появляется каталог услуг и соглашения с бизнесом; где какой сервер, лицензия, как они используются — дискаверинг и система учета; кто к чему имеет доступ, кто должен согласовывать изменения, сколько стоит предоставление каждого ИТ-сервиса. Финал — чёткое понимание затрат ИТ и возможность внятно/быстро объяснять бизнесу куда уходят его деньги. А заодно и сколько будут стоить его новые хотелки.

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

Всё, что вы хотели узнать о рефакторинге, но боялись спросить

Reading time1 min
Views22K
Господа, рад представить вам свой новый проект — Refactoring.guru.

Сайт представляет собой каталог запахов грязного кода и, собственно, самих приёмов рефакторинга. В двух словах — это как книга Мартина Фаулера, но лучше. А именно:

  • Весь контент доступен на русском языке. Я старался делать описания как можно более живыми, чтобы избавиться от чувства унылости и скуки, которое возникает при чтении любой переводной книги о рефакторинге.
  • Все примеры подаются на Java и PHP. Другие языки обязательно будут добавляться со временем, но я пока затрудняюсь решить, каким будет следующий, можете предлагать в комментах.
  • Всё везде перелинковано. Рефакторинги сгруппированы по предназначениям и связям.


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

Как видите, есть еще громадное поле для работы, как говорится, «если вам не стыдно за первую версию продукта — вы отрелизились слишком поздно». Тем не менее, я надеюсь, что кому-то сайт будет интересен уже сейчас.

Буду рад всем отзывам и пожеланиям! (а также лайкам и твитам)

Читать дальше →

Изучаем PHP изнутри. Zval

Reading time10 min
Views54K
Эта статья базируется на главе Zvals книги PHP Internals Book, переводом которой на русский язык я сейчас занимаюсь [1]. Книга ориентирована в первую очередь на C-программистов, желающих писать свои расширения для PHP, но, я уверен, что она окажется полезной и для PHP-разработчиков, так как описывает внутреннюю логику работы интерпретатора. В статье я оставил только базовую теорию, которая должна быть понятна всем разработчикам (даже не знакомым с PHP или C). За более полным изложением материала обратитесь к книге.

Задачка для привлечения внимания. Каким будет результат выполнения следующего кода?
$obj1 = new StdClass();
$obj2 = new StdClass();

$obj1->value = 1;
$obj2->value = 1;

function f1($o) {
  $o = 100;
}

function f2($o) {
  $o->value = 100;
}

f1($obj1);
f2($obj2);

var_dump($obj1);
var_dump($obj2);


Ответ
object(stdClass)#1 (1) { [«value»]=> int(1) }
object(stdClass)#2 (1) { [«value»]=> int(100) }

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

Information

Rating
Does not participate
Registered
Activity