Search
Write a publication
Pull to refresh
-15
0
Антон @Acuna

Разработка ПО

Send message

Как гараж от лихих людей уберечь

Reading time2 min
Views15K


Гаражи бывают различными, тут все зависит от фантазии и возможностей владельца. Соответственно и защита гаража бывает самая разная: от самой простейшей до весьма изощренной и дорогостоящей.

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

Риски и проблемы хеширования паролей

Reading time11 min
Views39K
Безопасность всегда была неоднозначной темой, провоцирующей многочисленные горячие споры. И всё благодаря обилию самых разных точек зрения и «идеальных решений», которые устраивают одних и совершенно не подходят другим. Я считаю, что взлом системы безопасности приложения всего лишь вопрос времени. Из-за быстрого роста вычислительных мощностей и увеличения сложности безопасные сегодня приложения перестанут завтра быть таковыми.

Прим. перев.: для более полной картины здесь вас также будет ждать перевод Hashing Passwords with the PHP 5.5 Password Hashing API, на которую автор ссылается в статье.
Читать дальше →

CSRF-уязвимость VK Open Api, позволяющая получать Access Token’ы сторонних сайтов, использующих авторизацию через VK

Reading time14 min
Views39K
Представляю вашему вниманию обзор уязвимости, связанной с неправильным применением JSONP в VK Open Api. На мой взгляд, уязвимость достаточно серьёзная, т.к. позволяла сайту злоумышленника получать Access Token другого сайта, если на нём используется авторизация через библиотеку VK Open API. На данный момент уязвимый код поправили, репорт на HackerOne закрыли, вознаграждение выплатили (1,500$).

Как это выглядело


В принципе, процесс получения пользовательского Access Token'а страницей злоумышленника происходил по стандартной схеме эксплуатации CSRF-уязвимости:

  1. Пользователь заходит на сайт, использующий библиотеку VK Open API (например, www.another-test-domain.com).
  2. Авторизуется там через VK.
  3. Потом заходит на сайт злоумышленника (например, www.vk-test-auth.com), который, эксплуатируя уязвимость, получает Access Token, принадлежащий сайту www.another-test-domain.com.
  4. Получив Access Token пользователя, злоумышленник может обращаться к VK API с теми правами, который пользователь дал сайту www.another-test-domain.com при авторизации на нем через VK.

Демонстрация


На видео показано, как страница «злоумышленника» на домене www.vk-test-auth.com получает Access Token пользователя VK, который авторизовался на сайте www.another-test-domain.com, несмотря на то, что в настройках приложения VK, доступ разрешён только для домена www.another-test-domain.com.


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

11 методов управления удаленной командой

Reading time6 min
Views34K


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

«Баннерорезалки» и что о них думают представители российских медиа, инструкция по проверке доли пользователей с блокировщиками на своём сайте

Reading time6 min
Views34K
AdBlock, AdBlock Plus, AdGuard и другие браузерные расширения, позволяющие блокировать рекламу на любых веб-страницах, влияют на ландшафт медиа, чьим основным источником заработка по-прежнему остаётся продажа рекламы. YouTube, который в категорию «медиа» попадает с большой натяжкой, так же испытывает на себе серьёзное влияние блокировщиков рекламы.

На «Мегамозге» мы много внимания уделяем этой тематике, так как игнорировать её становится всё сложнее.

Для того, чтобы ориентироваться не только на ту информацию, что приходит к нам с Запада: из Германии, где проходила судебная тяжба между компанией Eeyo (разработчик AdBlock Plus) и издательством Axel Springer (обе организации с немецкой «пропиской»), или из США – с основного и самого крупного медиа-рынка, где так же начинают появляться аналогичные разработки, мы решили поинтересоваться у людей, делающих медиа на русском языке, что они думают относительно всё увеличивающейся доли пользователей, блокирующих рекламу на их страницах.

Вопросы, с которыми мы обратились к главным редакторам популярных изданий, следующие:
  1. Пользуетесь ли вы лично AdBlock/AdBlock Plus или подобными расширениями для браузеров (блокировщиками рекламы)?
  2. Как руководитель медиа-проекта, что вы думаете о росте популярности блокировщиков рекламы?
  3. Можете ли вы назвать процент собственной аудитории, использующей подобные расширения на ваших страницах?
  4. Боретесь ли вы каким-то образом с AdBlock/AdBlock Plus и подобными расширениями?
  5. Присоединились бы вы к бойкоту блокировщиков рекламы, если бы он проводился несколькими крупными медиа-проектами совместно?
Ответы на вопросы представлены в той же последовательности.
Читать дальше →

Палец на красной кнопке, или Ужасная правда о Apple, Google, Spotify и всей остальной вселенной музыкального стриминга

Reading time5 min
Views9.2K


Настали безумно сложные времена для музыкантов. Фактически не давая собственного согласия на это, последние вместе с независимыми лейблами были затянуты в «опасную трясину» музыкального стриминга, контролируемого в основном технологическими компаниями. Что касается отчислений правообладателям за стриминг их музыки, то это всё ещё остается неразгаданной тайной. Никто не посвящён с секреты того, как рассчитываются или назначаются авторские гонорары для разных исполнителей в стриминговой экосистеме.
Читать дальше →

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

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

Для работы над Яндекс.Музыкой нам всегда важно помнить о разных тонкостях, которые таит в себе звук. Что такое громкость, как она меняется и от чего зависит? Как работают звуковые фильтры? Какие бывают шумы? Как меняется звук? Как люди его воспринимают.



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

Поводом для этого поста можете считать то, что мы добавили в приложения Яндекс.Музыки возможность слушать треки в высоком качестве (320kbps). А можете не считать. Итак.
Читать дальше →

Неправильно использованные шаблоны мобильного интерфейса

Reading time6 min
Views33K


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

Некоторые могут возразить, что следование гайдам может убить творчество, и в итоге все приложения будут выглядеть одинаково. С точки зрения UX, я тут вижу другую проблему. Может казаться, что применение лучших шаблонов, которые используют Google / Facebook / Instagram / [вставить любимое приложение], всегда является отличным решением. Что они ставят себе такие же задачи, что и вы. Вот несколько шаблонов, которые считаются (или считались) лучшими, но в то же время не такие уж они и хорошие, какими кажутся на первый взгляд.
Читать дальше →

Бесплатный Code signing для Open Source от Certum

Reading time3 min
Views30K
Запустив сегодня программу, описанную в статье, я увидел следующее предупреждение:


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

Несложный поиск показал следующее:
Что именно?

Управление Parallels Automation for Cloud Infrastructure через API

Reading time8 min
Views6K
В прошлый раз мы рассказывали про Облачные серверы на базе Parallels Automation for Cloud Infrastructure (PACI) – предполагаемые цены и функционал. В том числе, мельком упомянули наличие API для управления серверами. Сегодня мы подробнее рассмотрим доступные через API действия и примеры основных команд.

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

Как мы уже рассказывали, основа нашего облака – Parallels Automation for Cloud Infrastructure – модуль системы биллинга и провиженинга услуг Parallels Automation. Продукт поставляется с отличным RESTful API. Приводить весь листинг с командами API мы не будем – его можно посмотреть в официальной документации. Лучше покажем несколько примеров этого способа управления виртуальными машинами и контейнерами.




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

Как развивать облачный сервис

Reading time2 min
Views4.2K
Аналитические отчеты по теме говорят о том, что прямой корреляции размера бизнеса и степени использования облачных сервисов пока не наблюдается. В этом есть логика: облако — это универсальный инструмент, который позволяет компаниям оптимизировать свои бизнес-модели.

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

Хостинг на AWS (EC2, EBS, S3) для чайников

Reading time4 min
Views139K
На хабре уже проскакивали периодически заметки посвященные AWS (Amazon Web-Services) — так что тема не новая. Однако, если для меня лично (да и для многих моих знакомых как выяснилось) — этот термин был знаком — однако каких-либо деталей я не знал. Попробую на основании только-что полученного опыта рассказать немного подробней, а так же изложить основные шаги по организации хостинга сервера на AWS и его преимущества. Как и несколько ссылок, которые могут оказаться полезными.
image
Читать дальше →

Оптимизируем VPS за 5$ (512MB RAM / 1 CPU) так, что сайт на wordpress выдерживает нагрузку в 42,735,587 хитов в день

Reading time9 min
Views96K
Когда вы приобретаете сервер VPS с 256MB или 512MB оперативной памяти на борту и лишь часть мощности процессора, то использовать для таких сервисов как MySQL/PHP/Apache настройки по умолчанию является очень плохой идеей. В настоящее время у меня запущено 3 сайта на самом дешевом тарифном плане с 512MB RAM/1 CPU. Не уверен полностью, но посещаемость составляет порядка 5-10 тысяч посетителей в день. Далее я хочу поделиться инструкцией как оптимизировать LAMP используя всего лишь 512 MB и при этом не уходя в swap. Обычно при такой настройки используется 256 – 378Mb памяти и все работает довольно быстро.

Определяем доступную память и активность swap.

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

$ free -m

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

$ ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less


Настраиваем LAMP сервер для потребления малого количества оперативной памяти. Останавливаем, отключаем ненужные сервисы

Первый и очевидный вопрос, который необходимо задать — это «какие сервисы мне не нужны в использовании?». Недавно, я обнаружил очень удобную утилиту для управления сервисами. Она называется "sysv-rc-conf" и управляет сервисами при помощи псевдографики и флажками. Выгдялит вот так:



Здесь представлен список сервисов, которые я изменил.

  • Postfix. Этот сервис позволяет отправлять и получать почтовые email сообщения для домена. Я использую для этих целей Google Apps для отправки почты и mailchimp для новостных подписчиков. Таким образом я остановил и отключил этот сервис.
  • Bind9. Он нужен для управления DNS записями Вашего домена. Его можно отключить, так как все DNS записи хранятся у хостера.
  • SSHD. Имеются и другие реализации, которые используют гораздо меньше памяти, но они не поддерживают sftp, поэтому данный сервис я оставил без изменений.


Не запускайте X-сервер, выключите все ненужные сервисы и настройте Apache, MySQL, PHP только с базовой необходимой функциональностью.
Читать дальше →

SQUID для ленивых. Облегчаем себе жизнь

Reading time6 min
Views159K
Добрый день, уважаемые Хабрапользователи, в связи со сложившейся тенденцией к изучению всем известного прокси сервера SQUID, я бы хотел предложить вариант некой типовой настройки небольшой связки, которая будет полезная для начинающих системных администраторов небольших контор, ну или просто для тех, кому лень разбираться. Данная статья ни в коем случае не претендует на глобальный мануал на все случаи жизни — как я уже и сказал это всего лишь обобщенный частный случай.
Читать дальше →

RESTful API для сервера – делаем правильно (Часть 1)

Reading time13 min
Views334K
В 2007-м Стив Джобс представил iPhone, который произвел революцию в высокотехнологичной индустрии и изменил наш подход к работе и ведению бизнеса. Сейчас 2012-й и все больше и больше сайтов предлагают нативные iOS и Android клиенты для своих сервисов. Между тем не все стартапы обладают финансами для разработки приложений в дополнение к основному продукту. Для увеличения популярности своего продукта эти компании предлагают открытые API, которыми могут воспользоваться сторонние разработчики. Пожалуй Twitter был первым в этой сфере и теперь число компаний, последовавших этой стратегии, растет стремительно. Это действительно отличный способ создать привлекательную экосистему вокруг своего продукта.

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

Памятка евангелиста PostgreSQL: критикуем MySQL грамотно

Reading time12 min
Views62K
image

Привет, Хабр! Эта публикация — попытка развеять некоторые популярные мифы и легенды о MySQL. Я не ошибся с хабом, так как поводом для написания послужила публикация varanio Возможности PostgreSQL, которых нет в MySQL, и наоборот отсюда же. Сама публикация в части критики MySQL хоть и неидеальна, но вполне корректна, а вот комментарии к ней наводят на грустные размышления.

Вообще говоря, я собирался написать публикацию о возможностях MySQL, которые не реализованы или реализованы в PostgreSQL хуже. Но для того, чтобы не мешать много тем в одну публикацию, и учитывая довольно нелёгкую работу по сравнению того, что я знаю очень хорошо (MySQL) с тем, что я знаю очень плохо (PostgreSQL), такую публикацию я решил отложить на потом и для начала ответить сразу на многие комментарии из публикации varanio.
Читать дальше →

Создание синтезатора на JavaScript

Reading time15 min
Views31K


Идея сделать браузерный синтезатор у меня появилась достаточно давно, ещё когда Audio API был в весьма зачаточном состоянии и практически единственным шансом извлечь звук из браузера (кроме воспроизведения готовых файлов) была генерация WAV с его последующей кодировкой в base64 и записью в аудио-тег. И если синтез и кодирование удавались без проблем (WAV формат довольно прост), то с потоковым аудио для музицирования в реальном времени всё было хуже и никакими ухищрениями не удавалось добиться бесшовной буферизации, в связи с чем идея и заглохла, так не успев родиться. За прошедшие годы браузеры в поддержке Audio API заметно прибавили, что в свою очередь вдохновило меня на новые эксперименты в этой области. В данной статье шаг за шагом описывается процесс создания браузерного синтезатора средствами HTML5, начиная с генерации простой синусоиды, продолжая коммутацией и модуляцией сигналов и заканчивая аудиоэффектами.
Читать дальше →

Как пасхалки в email помогли компании привлечь внимание к своей конференции

Reading time6 min
Views14K


В нашем блоге мы довольно часто пишем о разнообразных экспериментах в области верстки email-рассылок — например, создании фонового HTML5-видео в письме или внедрении в сообщение пагинации. Сегодня речь пойдет о еще одной интересной механике — использовании в письме «пасхальных яиц», которые увеличивают вовлеченность читателей.

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

Важный момент: письмо получали люди, подписанные на соответствующую рассылку и заинтересованные в подобном контенте.
Читать дальше →

Как за 1 день мы увеличили в 10 раз число регистраций, отказавшись от контекста и SEO

Reading time9 min
Views11K


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

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

Неделю назад AlexKarpik рассказал об инструментах для продвижения стартапа в рунете. Сегодня я покажу на нашем примере как первые шаги в SMM кладут на лопатки контекст и SEO.
Читать дальше

Information

Rating
5,861-st
Date of birth
Registered
Activity