Доброго времени суток. Этот пост будет написан на основе Яндекс.ТвояПогода с тем отличием, что здесь будет пролит свет на некоторые данные возвращаемых сервисом Яндекс.Погода, и, будет чуть больше кода.
Рубрика «php» - 157
«Яндекс.Погода» для сайта в деталях
2014-08-07 в 8:20, admin, рубрики: php, погода, яндекс, Яндекс APIБезопасная работа с php
2014-08-05 в 12:48, admin, рубрики: php, информационная безопасность, ошибки в коде Доброго времени суток!
В предыдущем посту я немного наговнокодил неправильно отнёсся к безопасности своего php кода. Добрые читатели сказали, что мне почитать и заминусовали. Теперь хотелось бы исправиться, а заодно рассказать тем, кто только начал учить php, как лучше работать с данными в php.Читать полностью »
Сессии в PHP — подводный камушек при асинхронных запросах
2014-08-05 в 11:03, admin, рубрики: ajax, javascript, php, session_write_closeНебольшая предыстория.
У меня есть хобби-проект трекер.ру
Алгоритм такой: пользователь вводит поисковый запрос, этот запрос «на лету» ищет торренты на сторонних трекерах (рутор, рутрекер, tfile и тд).
Для параллельного поиска идет одновременно несколько аякс запросов, которые должны обработаться асинхронно.
Однако, запросы выполнялись синхронно. Если какой-то трекер долго не отдавал ответ, то остальные запросы подвисали и ждали ответа от подвисшего трекера. Общее время выполнение запросов равнялось сумме всех запросов. Хотя, по моим планам общее время должно было равняться самому долгому запросу.
Долго ломал голову, почему так. Грешил на HTTP pipelining. Но, причина оказалась намного банальней. Все дело в сессиях. Дело в том, что сессии в php консистентны и php не даст обратиться другому процессу к уже занятой сессии.
Читать полностью »
Badoo PHP Code Formatter. Теперь в open source!
2014-08-05 в 8:00, admin, рубрики: badoo, open source, php, баду, Блог компании Badoo, Веб-разработка
Несколько лет назад компания Badoo начала значительно расти по числу сотрудников, с 20 до 100 и более. Это потребовало серьезной перестройки многих процессов, касающихся разработки. Одна из проблем, с которой мы столкнулись, — как заставить всех разработчиков следовать единому стандарту кодирования, чтобы весь наш код выглядел единообразно и был легко поддерживаемым?
Для решения этой задачи мы решили внедрить инструмент для форматирования кода, который умел бы следующее:
- выводить сообщения о несоответствии стандарту форматирования в виде списка, не трогая сам файл;
- автоматически исправлять все найденные проблемы с форматированием;
- уметь форматировать только часть файла (нам не нужно переформатировать репозиторий сразу целиком, чтобы не потерять историю).
Мы рассматривали два проекта, которые можно было бы взять за основу для написания такого инструмента — PHP Beautifier и PHP Code Sniffer. Первый умел форматировать код, но не умел печатать диагностику, а второй — наоборот, умел печатать диагностику, но не умел форматировать файлы. К сожалению, оба этих проекта, по нашей оценке, были не слишком пригодны для того, чтобы добавить в них недостающую нам функциональность, поэтому была написана новая утилита — phpcf (PHP Code Formatter). Уже в течение двух лет она работает как git pre-receive hook, настроенный на отклонение (!) изменений, которые не оформлены по нашему стандарту кодирования.
Наконец настало время открыть исходные тексты нашей утилиты для широкой публики: github.com/badoo/phpcf/
Читать полностью »
Как доставлять e-mail уведомления клиентам в условиях невозможности прописать обратную DNS зону
2014-08-05 в 7:25, admin, рубрики: 1С-Битрикс, elinks, gmail, mail, php, pyexpect, smtpProof of Concept
Из такого заголовка довольно сложно понять, «а кому оно вообще нужно?», а потому для начала краткое предисловие.
Ни для кого не секрет, что интернет-провайдеры весьма агрессивно смотрят на малый бизнес. Условия обслуживания физических и юридических лиц примерно те же, а вот цена весьма существенно разнится. Ситуация монополии в какой-то мере исправилась с приходом таких стандартов, как LTE и 4G, но условия обслуживания и сейчас остаются весьма далекими от гуманности. Итак, это статья посвящается тем, кто по тем или иным условиям вынужден взаимодействовать с провайдером, который предоставляет внешний IP адрес, но не дает возможности редактировать соответствующие обратные DNS записи.
Наверняка многим известно, что в качестве требования к почтовым серверам, помимо DKIM записей и прочих проверок, предъявляется еще и обязательное наличие обратной DNS записи. В противном случае, письма либо не будут доходить вовсе, либо будут попадать в папку «Спам». С вышеозначенными фактами далее мы и будем разбираться.
Основная идея
Какие варианты остаются? Во-первых это сервисы прозрачного SMTP проксирования. Но в этом случае клиенту будут приходить письма со стороннего домена, что, вполне естественно, может вызвать недоверие клиента к вашему ресурсу. Во вторых это магия. В сторону последней и будем думать.
Идея в том, чтобы избавиться от вашего IP, как от начального релея. В этом нам помогут службы Gmail Hosted. Процедура настройки вашего домена для использования Gmail Hosted довольно проста и хорошо задокументирована. За всеми подробностями сюда: Google Apps для бизнеса.
Настроив свой домен для работы со службами Gmail Hosted и зарегистрировав соответствующий почтовый ящик для связи с клиентами (предположим это noreply@yourdomain.com), очень хочется автоматически из кода вашего ресурса оповещать своих клиентов о событиях. Но если же в такой конфигурации попытаться воспользоваться учетной записью noreply@yourdomain.com, как релеем, то получим то же, от чего уходили. Нанимать сотрудника, который бы входил в веб-интерфейс и отправлял оповещения — неразумно.
Читать полностью »
Генерация xkcd паролей на PHP
2014-08-04 в 18:38, admin, рубрики: php, xkcd, информационная безопасность, паролиИзвестный комикс xkcd подсказывает нам, что пароль, который состоит из 4 часто употребляемых слов — легко запомнить и сложно подобрать.
Все текущие реализации этого метода генерации паролей рассчитаны на английские слова, а значит пароли сложнее запомнить русскоязычным. Я вооружился частотным словарем русского языка, и сделал PHP библиотеку, которая поддерживает генерацию паролей из нескольких наборов слов:
- английские слова (например, «idea critic happy chinese»);
- русские слова (например, «порошок земля нуль платье»);
- транслитерированные русские слова (например, «vysota razum bumazhka razmer»).
Код и списки слов на GitHub.
IQLab challenge: докажи, что ты лучший
2014-08-04 в 12:58, admin, рубрики: php, Блог компании AstoundCommerce, разработка, хакатон Сегодня IQLab открывает регистрацию на один из самых больших PHP челленджей в Украине. Этот проект рассчитан на специалистов самого разного уровня и разного бэкграунда. Команда IQLab будет рада абсолютно всем участникам проекта. Это твоя возможность показать свои знания и доказать, что ты лучший.
Читать полностью »
Простая реализация модели MVC с поддержкой иерархии шаблонов
2014-08-04 в 8:07, admin, рубрики: mvc, php, web-разработка, Веб-разработка, шаблонизатор, шаблоны В данной статье показывается пример реализации модели MVC средствами PHP. Предлагаемая реализация является предельно простой как для понимания, так и для исполнения. Полезными особенностями являются легкая расширяемость и поддержка иерархии шаблонов. Все это позволяет положить ее в основу достаточно сложного веб-проекта.
Читать полностью »
И снова про монады в PHP
2014-08-04 в 6:20, admin, рубрики: functional programming, php, возгорание, функциональное программирование 
После прочтения вот этого материала томным и прохладным вечером пятницы у меня осталось некоторое чувство неудовлетворенности и жжения где то снизу. Я сидел со рвением безумца обновлял комментарии в надежде, что найдется человек который скажет отчего же это происходит и я пойму что я не одинок. Но… увы этого не произошло. После чего я посетил сие творение и почувствовал тоже чувство и понял, что что-то нужно менять.
Читать полностью »
Дайджест интересных новостей и материалов из мира PHP № 45 (20 июля – 3 августа 2014)
2014-08-03 в 19:41, admin, рубрики: HHVM, laravel, php, PHP 7, phpng, symfony 2, wordpress, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки 
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »

