/////////
Иван @ishamshurread-only
Пользователь
DMARC: защитите вашу рассылку от подделок
3 мин
110KСталкивались ли вы с проблемой, что письма от вашего сервиса подделываются с целью вымогательства пароля или других конфиденциальных данных? Ежедневно к пользователям пытаются пробиться тысячи спамерских, фишинговых и мошеннических писем, которые злоумышленники маскируют под сообщения от известных сервисов.
Такие письма причиняют ущерб адресатам, что, в конечном счете, сказывается на репутации как самих добропорядочных сервисов, так и почтовых провайдеров.
Теперь мы даем сервисам, которые ведут свои рассылки, возможность защититься от такого рода подделок с помощью технологии DMARC (dmarc.org), которую мы поддержали первыми среди крупных почтовых сервисов в рунете.
![](https://habrastorage.org/storage2/04f/c83/86b/04fc8386b53bd8db4b7fd80769c2589a.jpg)
Такие письма причиняют ущерб адресатам, что, в конечном счете, сказывается на репутации как самих добропорядочных сервисов, так и почтовых провайдеров.
Теперь мы даем сервисам, которые ведут свои рассылки, возможность защититься от такого рода подделок с помощью технологии DMARC (dmarc.org), которую мы поддержали первыми среди крупных почтовых сервисов в рунете.
![](https://habrastorage.org/storage2/04f/c83/86b/04fc8386b53bd8db4b7fd80769c2589a.jpg)
+40
Утилита для запуска PHP-скриптов в фоновом режиме
3 мин
19KПредисловие
Возможно, вы думаете, что это — очередная статья о том, как расплодить процессы с помощью fork() через консоль PHP. Но увы, ни консоли, ни pcntl_fork() здесь не будет — только браузер и сервер с PHP.
-2
Простенький helpdesk
3 мин
25KО проекте.
Доброго дня, уважаемые коллеги по отрасли. Сегодня я решился рассказать вам о своем небольшом проекте. Это helpdesk система, написанная под нужды собственной аутсорс — компании, а точнее её beta – версия. Проект написан на yii framework с использованием некоторых extensions сторонних авторов.
![](https://habrastorage.org/storage2/348/306/d4f/348306d4ff945e7bac2962d22cb4b4d7.png)
Встречайте vsDesk.
+55
uptodate.js — библиотека для автообновления элементов времени
1 мин
18KКак часто Вы используете конструкции вида «5 минут назад», «Полчаса назад» на вашем сайте? А что если пользователь открыл вкладку и забыл про нее на пару часов? «5 минут назад» явно теряет свою актуальность.
Именно для того чтобы исправить это досадное недоразумение служит uptodate.js
![image](https://habrastorage.org/getpro/habr/post_images/425/346/8cf/4253468cf65a3588c3f870a4502aed16.gif)
Именно для того чтобы исправить это досадное недоразумение служит uptodate.js
![image](https://habrastorage.org/getpro/habr/post_images/425/346/8cf/4253468cf65a3588c3f870a4502aed16.gif)
+61
Как запретить браузеру выделять текст
4 мин
179KЕсли Вы веб-разработчик, то у вас наверняка возникала необходимость в том, чтобы запретить пользователю выделение текста. Оговоримся, что я не имею ввиду полный запрет с целью защиты текста, а запрет на выделение всевозможных подписей, надписей и т.п. где выделение мешает работе интерфейса и пользователю (чаще всего при drag&drop, или выделении текста при двойном клике). Это в первую очередь касается веб-приложений и ни в коем случае не касается информационных сайтов.
+47
tFormer.js — велосипед для валидации форм
4 мин
23KtFormer.js — empower your HTML forms
Предисловие:
Вам приходилось верстать формы? Приходилось писать скрипт для валидации этих форм на клиенте? Доводилось ли использовать уже существующие плагины/надстройки для валидации форм?
Мне приходилось, но я не был на 100% удовлетворен ни от подхода решения задачи в лоб (собственный скрипт валидации для каждого проекта под его формы), ни от того, как работают существующие сторонние плагины.
Проблема:
Основными проблемами собственных скриптов и плагинов всегда были — гибкость, удобство и простота.
Большое количество data-attributes, необходимых для конфигурации скриптов (как это в Parsley.js) делают и код менее читабельным, и никогда не помнишь, как все они пишутся. Не просто…
Не все плагины хорошо подходили под желаемые HTML-формы, а постоянно писать свои скрипты под разные формы не всегда удобно и разумно.
Задача:
Создать нечто гибкое, удобно настраиваемое, полностью подконтрольное, с интуитивным синтаксисом и чтоб валидировало.
Решение:
Решение вылилось в небольшой опенсорсный плагин, который получил название tFormer.js.
+30
RBAC Авторизация в YII и LDAP
12 мин
97KТуториал
![](https://habrastorage.org/storage2/959/c1e/e6f/959c1ee6fb41883031ffb7a3eff4e80c.png)
RBAC — это простой и мощный способ централизованного управления доступом в веб приложении. Основным его достоинством является то, что при правильном понимании и применении иерархии авторизации можно очень гибко управлять доступом не изменяя код контроллеров.
К сожалению стандартный мануал по RBAC в YII оставляет больше вопросов чем ответов. Эту ситуацию я и намереваюсь исправить.
Я расскажу о создании “правильной” иерархии: как делать не стоит. А в завершении я приберёг инструкцию, о том как подружить LDAP авторизацию (из ActiveDirectory ) с Yii и RBAC.
Все кто заинтересовался, добро пожаловать под кат!
+44
Манипулирование URL'ами в JavaScript
2 мин
70KИз года в год, сталкиваюсь с одной и той же проблемой. Как добавить, изменить или удалить параметр к некоторому адресу в строковом виде. Быстро и грязно это можно делать с помощью, например, регулярных выражений или найти каке-то готовое решение. Зачастую также может потребоваться, к примеру, подменить путь в адресе или изменить протокол с HTTP на HTTPS и т.д.
В целом, это хочется делать просто и понятно. При этом хочется разумного компромиса. Я встречал некоторые библиотеки, которые дают мощный функционал, но при этом по объему — десятки килобайт JavaScript кода. Несколько десятков килобайт, чтобы, например, подменить параметр в QueryString? Эх…
В целом, это хочется делать просто и понятно. При этом хочется разумного компромиса. Я встречал некоторые библиотеки, которые дают мощный функционал, но при этом по объему — десятки килобайт JavaScript кода. Несколько десятков килобайт, чтобы, например, подменить параметр в QueryString? Эх…
+64
DKIM — это просто
3 мин
376KЗдравствуйте.
Хочу поделиться своим небольшим опытом прикручивания DKIM (DomainKeys Identified Mail) к своему домену и почтовому серверу.
Мы имеем:
Задача:
Хочу поделиться своим небольшим опытом прикручивания DKIM (DomainKeys Identified Mail) к своему домену и почтовому серверу.
Мы имеем:
- Платформа: Windows WebServer 2008;
- Сервер DNS: Bind 9.7;
- Почтовый сервер: hMailServer 5.3.3.
Задача:
- Разобраться в системе подписи сообщений DKIM, что бы gmail признал её валидной и выдал заветные: dkim=pass.
+25
Управление картинками и другим бинарным содержимым вашего веб-проекта
4 мин
12K![image](https://habrastorage.org/storage2/314/aa7/65b/314aa765bcbcf550900ccd3a064a24c8.png)
Мы, в компании XIAG, в разных проектах постоянно решаем одну и ту же задачу: как хранить и показывать бинарные пользовательские данные. Это могут быть логотипы компаний, PDF файлы с описанием вакансий или приветственное видео. Причем это содержание нужно показывать на страницах сайта самым разнообразным способом: лого должно быть нужного размера, PDF — в виде маленькой превью-картинки, а из видео нужно показать пару стоп-кадров.
Уверен, такая задача знакома всем веб-разработчикам. В этой статье мы хотим поделиться нашим решением проблемы, опубликованным под открытой лицензией на ГитХабе.
Познакомьтесь с веб-сервисом Barberry (https://github.com/Magomogo/Barberry), который мы успешно используем уже около года. Суть сервиса в том, что он хранит оригиналы загруженных документов и способен по-разному отдавать их, конвертируя на лету.
+22
Веб-консоль на PHP
1 мин
37K![](https://habrastorage.org/storage2/0c5/386/532/0c5386532c761d20c4bcd9b7008238f2.png)
Как-то я уже писал о веб-консоли через которую можно управлять Git-ом. Теперь же я решил развить её и сделать универсальную консоль.
+23
Howto: Amazon SES PHP mailer
2 мин
25KЗдравствуйте!
Сегодня я расскажу как настроить массовую рассылку писем через Amazon SES с нуля.
Для начала нужно иметь аккаунт в Amazon Web Services и прикреплённый к нему метод оплаты сервиса. Если у Вас это есть, смело можем начинать!
Итак, пройдём в консоль: https://console.aws.amazon.com. В списке сервисов ищем SES. Т.к. мы раньше не имели дела c SES, нас встречает удручающая надпись:
![image](http://qblx.co/H7N4LK)
Сегодня я расскажу как настроить массовую рассылку писем через Amazon SES с нуля.
Для начала нужно иметь аккаунт в Amazon Web Services и прикреплённый к нему метод оплаты сервиса. Если у Вас это есть, смело можем начинать!
Настройка SES
Итак, пройдём в консоль: https://console.aws.amazon.com. В списке сервисов ищем SES. Т.к. мы раньше не имели дела c SES, нас встречает удручающая надпись:
+15
Массовая рассылка писем с помощью Amazon SES
3 мин
53KОдним из основных способов общения с пользователем является электронная почта. И практически для каждого сервиса важно обеспечить надежную ее доставку. Когда число писем, отправляемых в сутки переваливает за несколько тысяч, можно столкнуться с различными ограничениями. В этой статье мы хотим рассказать о нашем опыте работы с почтовыми сервисами и предупредить о проблемах, с которыми может столкнуться каждый. Также подробно расскажем о том, как настроить работу с Amazon SES.
+9
Social-feed — социальный плагин jQuery
2 мин
19K![](https://habrastorage.org/getpro/habr/post_images/27b/2c8/bb5/27b2c8bb5ea1f637ca3b12ec99ae78da.png)
Потребность
При разработке веб-приложений очень часто возникает необходимость отображения постов пользователя или сообщества из социальных сетей. У социальных сетей есть свои виджеты, которые подключаются через iframe, со своим внешним видом и стилем. Что если нам нужно отображать посты одновременно из нескольких социальных сетей с возможнстью изменения дизайна отображения? Если это пара twitter и facebook, то существует несколько плагинов, выполняющих эту задачу. Принимая во внимание, что популярность социальной сети Вконтакте на территории СНГ очень высока, то есть необходимость плагина поддерживающего и эту сеть.
+37
Подбор маски ввода по телефонному номеру
7 мин
170KДанный плагин для jQuery позволяет автоматически подбирать подходящую маску ввода на основе введённого начала телефонного номера. Это позволяет сделать ввод номера телефона на странице web-cайта более быстрым и безошибочным. Кроме того, разработанный плагин может быть использован в других областях, если правила ввода возможно представить в виде нескольких масок ввода.
+33
Загадка выпадающего списка «Амазона»
2 мин
191KБен Кэменс обнаружил, что в выпадающем списке Shop by Department на сайте «Амазон» ховер-эффект происходит очень быстро, абсолютно без какой-либо задержки. Тем самым происходит нарушение старого, выработанного ещё в 90-х годах прошлого века правила: перед отображением пункта подменю необходим так называемый гистерезис, запаздывание.
![](https://habrastorage.org/getpro/habr/post_images/469/486/113/469486113d62e4bf471135e20e9b0a63.gif)
Запаздывание необходимо не только для того, чтобы сберечь ресурсы машины пользователя, но и по соображениям юзабилити: если не добавить задержку, то переводить курсор мыши на выпавшее подменю будет неудобно, придётся вести его сначала горизонтально в меню, не задевая другие пункты, и лишь после выбирать нужный подпункт.
![](https://habrastorage.org/getpro/habr/post_images/469/486/113/469486113d62e4bf471135e20e9b0a63.gif)
Запаздывание необходимо не только для того, чтобы сберечь ресурсы машины пользователя, но и по соображениям юзабилити: если не добавить задержку, то переводить курсор мыши на выпавшее подменю будет неудобно, придётся вести его сначала горизонтально в меню, не задевая другие пункты, и лишь после выбирать нужный подпункт.
+538
Фабрика виджетов jQuery UI
9 мин
56KТуториал
Перевод
Все jQuery UI виджеты создаются на простой основе — Фабрике Виджетов. Она обеспечивает гибкую основу для создания сложных, структурированных плагинов с совместимым API. С её помощью можно создавать не только плагины jQuery UI, но и любые объектно-ориентированные компоненты, не изобретая велосипедов. Она не зависит от других компонентов jQuery UI, наоборот, большая часть компонентов UI зависит от неё.
Фабрика виджетов это метод глобального объекта jQuery —
Что это?
Фабрика виджетов это метод глобального объекта jQuery —
+34
Опыт построения бюджетного отказоустойчивого online-сервиса 24х7
6 мин
14KТуториал
Проблематика
Итак, мы имеем коммерческий online-сервис, а наши клиенты — это компании, которые используют сервис 24x7. Наша задача, чтобы клиенты были счастливы и наши внутренние проблемы, связанные с отказом оборудования и ПО оставались для клиента максимально незамеченными. Клиенту вовсе не надо знать о том, что у нас сгорел RAID-контроллер, а системный администратор живет в Таиланде и не привык рано вставать.
-3
Дайджест интересных новостей и материалов из мира PHP за последние две недели №11 (12.02.2013 — 25.02.2013)
7 мин
20K![](https://habrastorage.org/storage2/d35/638/45f/d3563845f37bbb94634ebe4a4627955d.png)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
+45
Информация
- В рейтинге
- Не участвует
- Откуда
- Донецк, Донецкая обл., Украина
- Дата рождения
- Зарегистрирован
- Активность