Авторизация в Twitter с OAuth 1.0

Твиттер (а также Yahoo, Google, Facebook и LinkedIn ) штоб-его-заногу перешёл на безопасный OAuth и я вспомнил как в своё время с матюгами несколько дней ставил серверную часть OpenID на сайт. А они ведь похожи (авторам нравится буковка О, ага). Вобщем — как это работает? Если раньше был пользователь и твиттер, а мы со […]

Интеграция оплаты paypal

Деловые люди сталкивающиеся с интернетом хотят заработать денег, поэтому paypal позволяющий делать оплату кредитными картами по всему миру — ценнейшая услуга для интеграции на свой сайт. Примерные цены за услугу: 2-4% от суммы +  0,3$ за транзакцию зависит от типа оплаты. У Paypal есть несколько возможностей оплаты товара, но к счастью они едины […]

Оплата кредитной карточкой с php

Большинство систем оплат работают по принципу ворот (gateway) — передал данные, они обработались и вернулись. С клиентом или без него. Сегодня на devclub я рассказывал об эстонских pangalink’ах, но на самом деле я в последнее время интересовался кредитками. О них сегодня тоже рассказывали, перескажу коротко. Kaardikeskus — эстонский сервис. Договор заключается […]

SMS gateway

SMS или short message system разрабатывалась еще в восьмидесятых, но реально пришла на смену пейджерам с появлением мобильных телефонов. Получение В настоящее время SMS широко используется при: оплате некоей услуги с таким же принципом как и платный звонок — договор создаётся между предоставляющим услугу лицом и телефонным оператором, а клиент […]

Возможности Open ID

OpenID это логика разделения аутентификации (authentication), которая в свою очередь отвечает за то, что-бы пользователь был в действительности тем за кого он себя выдаёт. В качестве методов authentication можно выделить пароль, сертификат, биометрические данные. После распознавания с кем идёт дело, вступает в игру процесс правообладания (authorization), который даёт всем знать какие права […]

Блокировка сессий в php

Многие в курсе что при параллельных запросах от браузера к серверу, браузер старается ограничить число активных запросов (по ~5 на домен). Но та же проблема возникает и на бэкэнде с ресурсами Одна проблема с БД решается транзакциями. Но вторая, более явная остаётся — сессии. В моём случае эта проблема вылезла […]

Работа с бинарными данными в php

PHP как язык плохо подходит для работы бинарными данными напрямую. Но иногда приложения должны взаимодействовать по таким протоколам, где размер пакетов очень важен или родным форматом данных для какого-то приложения, который никем в красивый json или xml не переводится.

Оптимальные структуры данных в PHP

Как известно, родных типов данных в php немного. На самом деле в программировании, типов данных конечно же неограниченное множество, особенно когда дело касается деревьев (AA, M, k-d и прочая) Стандартная библиотека php кроме интерфейсов итераторов и автоподгрузки классов предоставляет и более оптимальные типы данных.

Анализ ошибок с XDebug и PHPStorm

XDebug это отличный php-модуль для правильного дебага приложения, который в «старших» языках (читай — не интерпретируемых) уже сразу был встроен в компилятор. Необходимость в полноценном дебаге очевидная в сложных приложениях, где воспроизведение ошибки занимает относительно много времени, а объём данных не позволяет копаться в мегабайтах от print_r(), хотя этот модуль позволяет и такие отчёты

BRMS на php с отражениями

Отражения (Reflection API) в php — мощный инструмент для самоанализа кода. Давно не писал ничего интересного, а тут такая интересная мини-задачка — написать маленькую систему бизнес-правил aka BRMSдля обработки сложных форм, причём не просто десять табов который сохраняются в БД, а анализ который приводит к каким-то выводам. В качестве ядерного решения  выступает […]