Pull to refresh
13
0
Максим Михеев @Ceiceron

IT-директор

Send message

Безопасная аутентификация между клиентом и сервером без ввода логина и пароля

Reading time7 min
Views25K
Недавно, при разработке распределенного анализатор трафика, у меня появилась задача спроектировать систему аутентификации между клиентом и сервером. Причем необходимо было спроектировать систему для двух разных ситуаций:

  • когда клиент и сервер общаются в доверенной (локальной) сети;
  • клиент и сервер взаимодействуют через глобальную, незащищенную сеть.

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

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

Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments19

Работающий трансформатор с деревянным сердечником, или простая грозозащита для компьютеров и телевизоров

Reading time10 min
Views98K
У великого русского поэта Тютчева не было компьютера и сети, иначе он бы не писал: «Люблю грозу в начале мая». В последние годы актуальность грозозащит стала поменьше — оптика, беспроводные технологии, но все же все же.
Если к вам в квартиру заходит кабель, и этот кабель — не оптический, гроза представляет угрозу для вашего оборудования.

Если у вас есть телевизор и он подключен к общей сети — кабельное ТВ, коллективная антенна (вдруг) — к чему угодно, что находится за пределами квартиры, гроза представляет угрозу для телевизора, (причем даже бОльшую, чем для компьютера).
Будем защищаться
Total votes 129: ↑125 and ↓4+121
Comments78

Болee 40 онлайн-курсов от Coursera и Udacity

Reading time4 min
Views35K
Сегодня проект Coursera, о котором на хабре уже неоднократно писали, наконец перешел из статуса беты в полностью рабочий. И переход этот можно назвать, мягко говоря, успешным — к уже заявленным и частично идущим 16 курсам от Stanford и Berkley и 1 курсу от Michigan добавились 12 курсов от Penn (Философия, Литература, Экономика, Медицина), 6 от Michigan (Литература, Экономика, Право) и 8 от Princeton (История, Математика, Computer Science).

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



Ну и после такого оптимистичного вступления — собственно сами курсы. Для большинства известны продолжительность и дата начала, так что можно уже заранее спланировать время. Поехали:

Читать дальше →
Total votes 74: ↑73 and ↓1+72
Comments42

Записи конференции Lang.NEXT 2012 для тех, кто интересуется языками программирования

Reading time2 min
Views9.8K


В начале апреля на базе кампуса Microsoft в Рэдмонде прошла специализированная индустриальная конференция, посвященная языкам программирования — Lang.NEXT 2012. В рамках конференции своими наработками и результатами исследований поделились эксперты известных корпораций (например, Microsoft, Google, Facebook, Oracle) и ведущих университетов (включая MIT, Stanford, Berkeley).

Для всех энтузиастов мира программирования на Channel 9 доступны записи и презентации выступлений.
Читать дальше →
Total votes 33: ↑25 and ↓8+17
Comments6

Почему весёлым быть выгоднее, чем умным: исследования EQ в IT-среде

Reading time4 min
Views51K
Исследователь Дэвид Карузо и пара его коллег – это как раз те парни, из-за которых технические навыки и интеллект при приёме на работу в крупные IT-компании часто оцениваются заметно ниже, чем эмоциональный интеллект. То есть тот факты, что вы умный, означает гораздо меньше, чем то, что вы узнаёте вот этого парня с картинки:


Он пристально наблюдает за постом

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

Читать дальше →
Total votes 74: ↑60 and ↓14+46
Comments47

Семантическая сеть, ARC2 и PHP

Reading time6 min
Views5.7K
Пока семантическая паутина только-только развивается и захолустные веб-студии не взвинчивают цены за слова семантическая и семантический давайте посмотрим на инструменты для работы с этим зверем в php.
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments17

Простой parallax эффект для промо-сайта

Reading time1 min
Views26K
В последнем проекте который состоял всего из одной странички, потребовалось реализовать простой эффект, суть которого лучше понять на примере #1 и #2.

Поскольку времени для реализации было достаточно, и долгое время таится желание написать хоть что-то, что может помочь другим разработчикам. Оформил все это дело в совсем малюсенький и простой plugin для jquery. Надеюсь, теперь этот код могут прочесть не только я и мой кот Борис, если же это и вовсе кому-то поможет в работе то я совсем не против использования его в ваших проектах, изменения копирования редактирования и т.д.
Читать дальше →
Total votes 122: ↑102 and ↓20+82
Comments55

Создаём parallax scrolling эффект с помощью jQuery и CSS

Reading time3 min
Views132K
В последнее время, сайты с parallax scrolling эффектом стали появляться повсюду. Я не хотел это пропускать, поэтому я создал демонстрационную страницу с parallax scrolling эффектом с помощью jQuery и CSS.


Читать дальше →
Total votes 66: ↑58 and ↓8+50
Comments31

Скрипт для развертывания SSRS отчетов

Reading time4 min
Views3.4K
Во многих проектах требуется инсталляционный скрипт либо пакет, который выполняет обновление серверной части приложения. Необходимость, в первую очередь, обусловлена отсутствием прямого доступа к производственному серверу у разработчиков.
Инсталлятор в виде скрипта лучше всего подходит для установки без явного входа на сервер (RDP). Также скрипт может быть выполнен в виде одного загрузчика, который и выполнит все остальное. В текущих проектах мы реализовали что-то наподобие PsGet[1], только для внутреннего билд-сервера.
Приложение большое и состоит из ряда компонентов, одним из которых является модуль отчетности, построенный на базе SSRS.
Подробности реализации
Total votes 9: ↑7 and ↓2+5
Comments0

Техническое задание на сайт

Reading time11 min
Views698K
UPD: Продолжение статьи с примером техзадания

Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

То описание технического задания, о котором речь пойдет ниже, не является пересказом ГОСТа, но скорее является его творческой переработкой, хорошо сдобренной горьким опытом. Описанный ниже подход к ТЗ не охватывает все аспекты сайтостроения, но задает общее направление.

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

1. Обоснование необходимости ТЗ


А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



Далее много букв
Total votes 212: ↑209 and ↓3+206
Comments141

Установка легковесного Jabber сервера Prosody с LDAP аутентификацией через SASL

Reading time2 min
Views11K
Это простой рецепт для настройки IM сервера для общения внутри компании. В нашей компании для общения внутри сети используется Jabber и некоторое время назад мы стали замечать что jabberd14 нещадно протекает и грузит сервер. Поиски легковесной замены привели к северу Prosody написаному на языке Lua. По заверению разработчиков это современный гибкий сервер для общения, ориентированый на простоту настройки и нетребовательный к ресурсам. Работа последние пару месяцев это в принципе подтверждает.

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments9

Массивы моделей в MVC — вкусно и тяжело?

Reading time5 min
Views5.1K

Парадигма MVC во многом позволяет упростить поддержку кода за счет разделения логики и создания абстракций, однако часто, следуя принципу Thick Model & Thin Controller (он же Fat Model & Skinny Controller), разработчикам приходится упираться в краеугольный камень использования любого объекта-модели, а именно — в потребление памяти. Что особенно актуально при работе с моделями, которые реализуют ORM (или ActiveRecord паттерн).
В данной статье хочу вкратце продемонстрировать стандартные подходы к решению данной проблемы.

Читать подробнее
Total votes 57: ↑43 and ↓14+29
Comments75

Почему стоит пользоваться PDO для работы с базой данных

Reading time9 min
Views327K

Перевод статьи Why you Should be using PHP’s PDO for Database Access.

Множество PHP-разработчиков привыкли использовать для работы с базами данных расширения mysql и mysqli. Но с версии 5.1 в PHP существует более удобный способ — PHP Data Objects. Этот класс, сокращенно именуемый PDO, предоставляет методы для работы с объектами и prepared statements, которые заметно повысят вашу продуктивность!

Введение в PDO


«PDO – PHP Data Objects – это прослойка, которая предлагает универсальный способ работы с несколькими базами данных.»

Заботу об особенностях синтаксиса различных СУБД она оставляет разработчику, но делает процесс переключения между платформами гораздо менее болезненным. Нередко для этого требуется лишь изменить строку подключения к базе данных.

Эта статья написана для людей, которые пользуются mysql и mysqli, чтобы помочь им в переходе на более мощный и гибкий PDO.
Читать дальше →
Total votes 127: ↑115 and ↓12+103
Comments165

Деобфускация PHP кода

Reading time20 min
Views56K
Деобфускация PHP
Так уж случилось, что на днях мне попался один нужный PHP скрипт, но обфусцированный.
По какой-то причине он никак не работал. Я пишу на PHP достаточно давно, и мне очень нравится отлавливать нестандартные ситуации в скриптах, особенно когда при выполнении в логах нет ошибок, а скрипт просто не выполняет своих предназначенных обязанностей, руки так и чесались расшифровать. Последней каплей стало то, что автора этого скрипта не было в сети, чтобы помочь решить мою проблему. Скрипт кстати куплен моим товарищем, собственно он и попросил помочь.

Цель данной статьи, показать принцип дешифровки, зашифрованных скриптов, чтобы например расшифровать залитый злоумышленником вирус на PHP.

Читать дальше →
Total votes 120: ↑105 and ↓15+90
Comments34

Bootstrap 2.0 – HTML+CSS+JS UI фреймворк

Reading time1 min
Views60K

Вышла новая версия офигительного UI фреймворка от Twitter — Bootstrap 2.0 Для тех кто не в курсе что это, настоятельно рекомендую ознакомиться. Этот набор позволяет создавать отличные шаблоны сайтов за считанные часы (проверено на собственном опыте) на основе готовых элементов и экономить килотонны нервов на адаптации кода под разные браузеры.

Особенности Bootstrap:
  • Полный набор компонентов в виде стилей и анимаций поведения для элементов интерфейса
  • Поддержка возможностей HTML5, CSS3 (но при этом работает и в IE7!)
  • Поддержка идеологии 940-пиксельной сетки
  • Поддержка идеологии fluid-grid
  • Кросплатформенность — наборы стилей для десктопных и мобильных браузеров
  • Возможность кастомизации и добавления собственных стилей
  • Возможность добавлять jQuery плагины

Мастхэв для верстальщиков и проектировщиков интерфейсов!
Total votes 200: ↑186 and ↓14+172
Comments65

3D кнопки с помощью CSS3

Reading time6 min
Views44K
Здравствуй, дорогой хабрадруг! Сегодня мы научимся создавать объемные кнопки CSS3! Они основаны на популярной PSD фриби от Orman Clark для его веб-сайта Premium Pixels. Мы постараемся создать копию этих кнопок с помощью CSS с минимальным количеством кода HTML.

Preview

Читать дальше →
Total votes 98: ↑73 and ↓25+48
Comments59

Разрабатываем компилятор для учебного языка Cool на языке C# под .NET (Часть 1)

Reading time11 min
Views21K

Введение


Здравствуй, уважаемый хабраюзер.Я хотел бы тебе представить материал о практическом создании компилятора, который будет транслировать код, написанный на языке Cool, в код виртуальной машины CIL (Common Intermediate Language) под платформу .NET.Данный материал я решил разбить на две части из-за лени все сразу это описывать

В первой части будет описан процесс написания грамматики с учетом приоритетов операторов в среде ANTLR, а также генерации лексера и парсера под язык C#. Также в ней будут рассмотрены подводные камни, которые встретились у меня на пути. Таким образом я постараюсь хоть кому-нибудь сэкономить время (может быть для себя в будущем).

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

Читать дальше →
Total votes 51: ↑46 and ↓5+41
Comments14

Простой мониторинг активности SQL Server. Кто активен?

Reading time6 min
Views164K

О чем я вообще?


Любому администратору баз данных, наверняка, приходилось сталкиваться с тем, что все работает медленно, или не работает вообще. Первое, что при этом нужно выяснить — это что вообще происходит на SQL Server в данный момент. Казалось, бы в арсенале администратора столько всяких полезных штук: гуевый Activity Monitor, куча Dynamic Management Views (dmv), хранимые процедуры sp_who и sp_who2, оставшиеся в наследство еще со времен SQL Server 7 и SQL Server 2000.
Но, давайте разберемся…
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments4

Быстрый роутинг на PHP

Reading time3 min
Views45K
image
Уходя от использования роутинга в .htaccess файле, в первую очередь пришёл к стандартному направлению на index.php: разбирал там URL и вызывал соответствующие контроллеры — долгое время был доволен такой техникой. Однако совсем недавно осознал, что что-то делаю не так, что можно сделать эффективнее и лучше.
Далее я расскажу о своём роутинге, использующем XML для хранения правил и в последующем использующем его сериализованный вид.
Читать дальше →
Total votes 49: ↑27 and ↓22+5
Comments48

Работа с изображениями средствами phpThumbOf

Reading time4 min
Views75K
phpThumbOf — это аддон для MODx, основанный на популярном скрипте phpThumb. Он позволяет модифицировать изображения средствами различных графических библиотек «на лету».

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

Причиной написания поста послужил тот факт, что официальная документация по phpThumbOf просто ужасна. Прочитав ман, я подумал, что единственной функцией, которую можно использовать для модификации изображения при его выводе является зум-кроп (zoom-crop), ибо больше там ничего не сказано. Но позже, попробовав использовать некоторые другие опции phpThumb я выяснил, что они прекрасно работают!
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments27

Information

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