Pull to refresh
0
0
Владимир @VolodyaHome

Программист

Send message

Безопасность REST API от А до ПИ

Reading time 17 min
Views 117K

Введение


Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат кри­тичес­кие уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.

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

image
Читать дальше →
Total votes 52: ↑52 and ↓0 +52
Comments 22

А вы хотите программировать вверх тормашками?

Reading time 10 min
Views 34K


Всем добрый вечер/день/утро, кому, что ближе в данный момент. Давненько читаю данный ресурс и всегда с особенной любовью относился к статьям, которые так или иначе мотивировали меня, заставляли задуматься и подталкивали что-нибудь изменить в моей жизни. Поэтому, решил попробовать вдохновить или так сказать, морально помочь тем, кто чего-то хочет, но, как и все нормальные люди сомневается. А конкретно рассказать о моей иммиграции в страну Оззи. Сразу оговорюсь, тем кто любит писать что-то вроде: «многобукв»,«неосилил»… заранее приношу извинения, потому как сам «многобукв» люблю, а когда не люблю иду в твиттер, чего и Вам советую.
Читать дальше →
Total votes 142: ↑124 and ↓18 +106
Comments 156

Если бы языки программирования были девушками…

Reading time 2 min
Views 81K
Image #1602564, 172.6 KB

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

Читать дальше →
Total votes 164: ↑94 and ↓70 +24
Comments 114

Хочется плакать от российских сайтов недвижимости

Reading time 3 min
Views 43K
Несколько лет назад уехал из России, а родители остались в Питере. Сейчас перед ними встал квартирный вопрос, меняются. Взялся им помочь, полез на сайты по недвижимости, офигел. Офигел от цен, это само собой. Но еще офигел от самих сайтов. После 2005 время на них будто застыло.

Целей у моей писанины две: открыть для себя нормальный сайт по питерской недвижимости — вдруг такой есть. Это главное. И вторая цель — иногда сидишь на жопе, и вроде все ок… до тех пор, пока со стороны не ткнут носом в твое «дело». Так вот, товарищи, которые занимаются bn, bkn, bsn, eip, emls, itakа, — эти вот «интернет проекты» — это не нормально, это даже не позавчера.

Вот как надо. Хотя бы.
Total votes 131: ↑109 and ↓22 +87
Comments 119

Об ограничениях естественного интеллекта и как нам с этим жить дальше

Reading time 5 min
Views 104K


На сегодняшний день становится очевидным, что человеческий мозг имеет совершенно явные естественные ограничения и в основном работает, что называется «на всю катушку». Я рассматриваю сферу умственного труда естественно. Миф о том, что мозг использует лишь 10% своего потенциала это всего лишь миф. И, по всей видимости, тренировками и (или) медицинскими способами качество интеллекта можно поднять лишь весьма ограниченно. Современная наука все более сходится во мнении, что при текущем устройстве мозга мы не можем быть умнее, чем мы есть.
Читать дальше →
Total votes 95: ↑68 and ↓27 +41
Comments 213

Развитие правого полушария головного мозга или как я учился рисовать

Reading time 4 min
Views 87K
Сразу дискламер: я редко пишу посты на широкую аудиторию, и более правильного ресурса для этого текста в рамках моего кругозора не нашлось. Тем не менее, если кто-то найдет это интересным, значит не зря… Поехали.

С чего все началось



Как-то я услышал от одного человека мысль о том, чтобы заниматься бизнесом, ему приходится «выращивать в себе Мистера Хайда», типа некая альтернатива его личности способна придумать что-то такое, что не способен придумать он сам. Конечно же, он шутил, по большей части, и тогда я этому значение не придал. Вспомнил эту точную метафору лишь, когда сам решил, что мне нужно развивать креативность, умение продуктивно фантазировать, придумывать нестандартные решения.
Читать дальше...
Total votes 163: ↑156 and ↓7 +149
Comments 84

О глупости умных людей

Reading time 3 min
Views 343K


Для затравки — простая математическая загадка. Бейсбольный мяч и бита вместе стоят 1 доллар и 10 центов. При этом бита стоит на 1 доллар дороже мяча. Сколько стоит мяч?
Читать дальше →
Total votes 179: ↑155 and ↓24 +131
Comments 347

Новый офис Zynga

Reading time 3 min
Views 6.8K
Компания «Zynga» (NASDAQ: ZNGA) — известный разработчик социальных игр для Facebook, а также мобильных платформ. Среди наиболее известных ее игр CityVille, FarmVille, Words With Friends и другие. Недавно компания приобрела небольшую фирму OMGPOP, известную по игре DrawSomething для iPhone, и это не единственная ее покупка. Постоянное появление новых игр ведет к увеличению числа программистов, дизайнеров и других сотрудников, которым нужны все новые и новые рабочие места. Поэтому прошлым летом Zynga открыла новый офис в San Francisco, California, USA, который стал главной штаб-квартирой компании.



Офис находится на углу Восьмой улицы и Townsend, занимая все 6 этажей здания общей площадью около 62 тысяч квадратных метров. Вначале Zynga арендовала большую часть здания, а в марте этого года купила все здание за $228M. После покупки внутренний и внешний дизайн здания подверглись существенной переработке в соответствии с корпоративной символикой и стилем. По углам здания разместились 10-метровые эмблемы компании, с изображением собаки, в честь которой Zynga и была названа.
Зайдем внутрь
Total votes 54: ↑50 and ↓4 +46
Comments 37

Устраиваемся программистом за рубежом

Reading time 16 min
Views 62K
Как часто вас посещала мысль о трудоустройстве за границей, будь то просто временная работа или переезд на постоянное место жительство? Какую страну выбрать? Возможно ли пройти собеседования за тысячи километров по телефону и получить джоб-офер? Как будет выглядеть переезд и жизнь в другой стране? В данной статье я бы хотел поделиться личным опытом и опытом многих моих друзей работающих за рубежом.
Читать дальше →
Total votes 208: ↑188 and ↓20 +168
Comments 160

Ищем музыку на z-music.org с помощью bash

Reading time 3 min
Views 984
Понятно, что «жертвой» сегодняшнего эксперимента будет z-music.org. На этом сайте есть возможность найти песню, послушать и скачать её.
Цель — написать bash скрипт для поиска музыки, используя «джентльменский набор» sed, awk и grep. Ну и плюс немного curl или wget по вкусу.
Пишем bash script
Total votes 36: ↑27 and ↓9 +18
Comments 6

Фотографии домашних офисов-2

Reading time 1 min
Views 39K
После топика Бумбурума о своем домашнем офисе, думаю многие фрилансеры Хабра озадачились обустройством своего рабочего места. Представляю вам подборку фотографий интересных домашних офисов (в основном из США и Канады), большинство из которых реально реализовать и в российских условиях.
Читать дальше →
Total votes 98: ↑73 and ↓25 +48
Comments 191

Google, Yahoo и Microsoft начали использование Canonical URL

Reading time 1 min
Views 452
Google, Yahoo и Microsoft объединили усилия в направлении избавления своего поискового индекса от дублируемого контента.

Для справки: дублируемый контент — страницы с одинаковым содержанием доступные по разным URL-адресам.

Так вот, Google, Yahoo и Live Search начали поддержку «нового» HTML-тега:
<link rel="canonical" href="http://example.com/products" />

При добавлении данного тега разные URL-адреса с одним и тем же содержимым, к примеру:
http://example.com/products?trackingid=feed
http://example.com/products?sessionid=hgjkeor2
http://example.com/products?printable=yes&trackingid=footer

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

Тем самым они предлагают webmaster'ам добавлять данный тег в html-код в случае если архитектура их web-сайтов порождает возможность доступа к одной и той же странице по разным URL-адресам. И помогают им избежать наложения санкций из-за дублированного содержания.

Информация об этом теге от самих поисковиков: Google Webmaster Blog, Yahoo Search Blog, Live Search Blog

P.s. очень вольный перевод и мой первый пост на «сами знаете где» =)
Total votes 33: ↑32 and ↓1 +31
Comments 6

Психологическая деформация программистов. Взгляд с обеих сторон баррикад

Reading time 6 min
Views 136K
Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью.

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

И что же них такого деформированного?
Total votes 461: ↑436 and ↓25 +411
Comments 558

Можно ли доверять Вебвизору от Яндекса?

Reading time 3 min
Views 42K
Приветствую всех хабражителей!
В этом посте я хочу рассказать, почему в некоторых случаях не стоит доверять информации, которую можно получить просматривая сеансы записей действий посетителя в Вебвизоре от Яндекс.Метрики.

Под катом коротко о технологии, описание проблематики, переписка с технической поддержкой Яндекса и личные выводы.
Читать дальше →
Total votes 47: ↑35 and ↓12 +23
Comments 42

Топ 5 интернет-магазинов прикольных подарков

Reading time 4 min
Views 2.1K
Приближается Новый год, и проблема подарков становится все более и более острой. Приходится ломать голову что-же такое подарить, бегать по магазинам, толпится в очередях и все равно выбирать скучные и банальные подарки.
К счастью есть несколько интернет-магазинов, где можно купить прикольные, по настоящему оригинальные вещички в подарок и себе любимому, не отрывая попу от стула.
С Топ-5 таких магазинов я хочу вас познакомить (ни один из них мне ничего не заплатил, к сожалению):

1. Thinkgeek.com

Это безусловный лидер моего хит-парада. В этом зарубежном магазине продаются потрясающие безделушки на любой кошелек. Минус этого магазина в том, что он для гиков и нердов, хотя по мне так это скорее плюс.;)
Здесь можно купить кучу всякой всячины, начиная от мягких игрушек в форме бактерей, обезьян-тарзанов, олдскульных блутуф телефонных трубок и заканчивая лазерной клавиатурой или световым мечом, хотя можно и продолжить, внимание, мой фаворит — камни для виски. Достаточно взглянуть на ассортимент, чтобы понять, почему именно этот магазин возглавляет Топ. А что бы вы хотели из того, что там продается?
Продолжение под катом
Total votes 32: ↑21 and ↓11 +10
Comments 23

Закрываем зеркало сайта от индексации правильно

Reading time 4 min
Views 6.1K
Здравствуй, %habrauser%.
Сегодня я покажу как не надо закрывать от индексации зеркало сайта, и как закрыть его правильно.

Предыстория

Я работаю web-мастером в одной крупной для нашего города компании.
Мы сделали клиенту сайт, для рекламирования и продажи своей продукции.
Клиент выбрал доменное имя в зоне .RU, и сайт около года успешно работал. Сайт по настоящее время обслуживается и редактируется по мере необходимости у нас.
Через какое-то время клиент захотел второй домен для сайта, но в зоне .РФ.
Он самостоятельно нашёл «профессиональных seo-специалистов продвигальщиков», сайт которых стоял на первом месте в выдаче Яндекса по определенным запросам.
С ними он заключил договор, и ежемесячно отгружал немалую сумму денег в эту seo-конторку.
Спустя пару недель сеошники наконец проснулись, связались с нами и получили ftp доступы к сайту, а так же пароль от админки сайта.

Началась «оптимизация»

Всё началось с того, что они не разобрались в движке сайта PHPShop.
Отправили нам письмо, мы им сообщили где что редактируется, в каком файле находятся нужные им теги, а так же в довесок дали немного ссылок на официальную документацию.
Читать дальше →
Total votes 78: ↑60 and ↓18 +42
Comments 37

Настройка nginx

Reading time 5 min
Views 287K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности
Total votes 88: ↑78 and ↓10 +68
Comments 53

Удобства на улице для MySQL драйвера в Node.js

Reading time 12 min
Views 60K
Кто пишет на Node.js и использует MySQL, тот непременно знает, что наш дорогой товарищ Felix Geisendörfer три года назад совершил героический и самоотверженный подвиг: в одиночку разработал очень качественный драйвер для подключения к MySQL, нативно реализовав двоичный протокол этой СУБД на JavaScript. Потом к проекту подключились другие уважаемые товарищи, была реализована поддержка пулов соединений, кластеров, транзакций, восстановление при временной утере соединения и т.д. Сейчас драйвер является самым развитым, хорошо проработанным и активно поддерживаемым из того, что мы имеем в открытых репозитариях npm и github. Удивительно даже, что при хорошо проработанной низкоуровневой реализации, все удобства, которые предоставляет это драйвер для прикладного разработчика, сводятся к одному методу query. Для меня лично, этого очень мало, ну привык дедушка к удобствам для возврата скалярных значений, строк и столбцов в массивы, интроспекции структур БД. Так что, с удовольствием делюсь этими наработками с вами, мои дорогие Хабравчане, но предупреждаю, что все удобства будут на улице. Есть конечно вариант тесной интеграции с драйвером, но FelixGe желает оставить драйвер исключительно низкоуровневым, поэтому я остановился на варианте внешней библиотеки с добавлением к драйверу через примеси. В виде примесей, удобства попали и в платформу Impress, а так же, опубликованы как патч к драйверу. О функционале и вариантах использования далее.
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Comments 26

Хэширование паролей в PHP 5.5 с использованием нового API

Reading time 3 min
Views 77K
Использование BCrypt является общепринятым и лучшим способом для хэширования паролей, но большое количество разработчиков по-прежнему используют старые и слабые алгоритмы, вроде MD5 и SHA1. Некоторые разработчики даже не используют соль для хэширования. Новый API хэширования в PHP 5.5 ставит своей целью привлечь внимание к BCrypt, упрощая работу с ним. В этой статье я расскажу об основах использования нового API для хеширования в PHP.

Новый API хэширования паролей предоставляет четыре простых функции:
  • password_hash() — используется для хэширования пароля.
  • password_verify() — используется для проверки пароля на соответствие хэшу.
  • password_needs_rehash() — используется для проверки необходимости создать новый хэш.
  • password_get_info() — возвращает имя алгоритма хеширования и различные параметры, используемые при хэшировании.

Читать дальше →
Total votes 30: ↑21 and ↓9 +12
Comments 13

Интеграция веб-сервисов в популярные cms

Reading time 10 min
Views 22K
В этой статье мы дадим рекомендации как за короткий срок освоить cms и написать для неё расширение, модуль или плагин, а также расскажем о результатах и нашем опыте интеграции сервиса Cackle в эти системы. Cтатья может стать руководством для тех, кто собирается делать интеграции сервисов с cms системами или просто создать модуль.

Перед тем как решить с какой cms делать интеграцию стоит собрать статистику по запросам на интеграцию своих пользователей, а также посмотреть на общую статистику по cms на сайтах зоны .RU (http://statonline.ru/metrics/webapp_cms?tld=ru) из которой видно, какие cms имеют самую большую популярность.
image

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

Интеграция позволяет удобным образом встраивать сервисы в cms и максимизировать выгоду от его использования. Идеальным решением является установка плагина в несколько кликов. Приемлемым решением может быть мод — инструкция по допиливанию cms, при котором изменяются скрипты cms. Для нашего проекта любая интеграция комментариев Cackle для cms обычно включает следующие пункты:

— Cинхронизация комментариев с сервиса Cackle в локальную БД каждые 5 минут
— Отображение html для SEO
— Экспорт существующих на сайте комментариев в Cackle
— Возможность ресинхронизации(повторное копирование комментариев в локальную БД)
— SSO (авторизация своих пользователей)
— Счётчик комментариев на главной странице
— Виджет последних комментариев

Все эти требования к модулю включают реализацию таймера, получение комментариев запросом через API, сохранение в БД, отображение js виджета в шаблонах cms на определенных страницах и админку для ввода ключей API, и других настроек.

Мы сделали интеграции нашего сервиса комментариев Cackle в следующие cms системы:
Wordpress, Drupal, DLE, InstantCms, Joomla, Bitrix.

Теперь хронологическом порядке опишем наш опыт по интеграции для каждой cms.
Читать дальше →
Total votes 35: ↑30 and ↓5 +25
Comments 11

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity