VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Конкурс: Свежие идеи, номинация Self_made Название: Бесплатная почта на вашем форуме для пользователей, типа имя@ваш_домен.ru Автор: Я и Яндекс =Я в квадрате Версии форума: Можно прикрутить на любую линейку, приведу примеры.
1. Для того чтобы организовать почтовый бесплатный сервер посредством яндекса, у вас должен быть доступ для смены MX записей и создания доменов.
2. Для начала нужно ввести название домена в форму на странице «Подключить домен».https://pdd.yandex.ru/domains_add/
Проверьте, правильно ли вы указали имя вашего домена. Если имя домена указано верно и вы видите надпись «домен уже существует», нажмите кнопку «Подключить домен», расположенную под дальнейшими инструкциями подключения.
Вы попадёте на страницу «Мои домены», где увидите добавленный вами домен.
3. Теперь нужно подтвердить права на домен
4. И наверно самое сложное, Настройка MX-записи.
Для настройки MX-записи у вас должен быть доступ к редактированию DNS-записей домена. Обычно такой доступ предоставляется через веб-интерфейс (на сайте вашего регистратора или хостинг-провайдера).
1) Удалите все существующие MX-записи и TXT-записи. Внимание! Если на вашем домене уже есть почтовые ящики, после удаления MX-записей новые письма перестанут на них приходить, а будут приходить только на новые ящики, которые вы зарегистрируйте на вашем домене на Яндексе. Если вас это не устраивает, обратитесь за помощью в нашу службу поддержки.
2) Заведите новую MX-запись со следующими параметрами:
Имя поддомена - @
Тип записи - MX
Данные - mx.yandex.ru.
Приоритет - 10
Результат настройки MX-записей вы увидите на странице «Мои домены».https://pdd.yandex.ru/domains
Статус подтвержденного домена изменится с «Ожидаем установки MX-записей» на «Подключен».
Кроме того, вы можете настроить доступ к форме авторизации на вашем домене по адресу mail.yourdomain.ru, где "уourdomain.ru" - имя вашего домена.
Для этого необходимо настроить для вашего домена CNAME-запись с поддомена mail на адрес domain.mail.yandex.net., не изменяя этот адрес. Заменять domain на имя своего домена не нужно. После произведения настроек ссылка http://mail.yourdomain.ru будет переадресовывать вас на страницу http://mail.yandex.ru/for/уourdomain.ru.
Для настройки CNAME-записи у вас должен быть доступ к редактированию DNS-записей вашего домена у вашего регистратора. Обычно такой доступ предоставляется через веб-интерфейс.
Необходимо указать следующие настройки:
Имя поддомена - mail
Тип записи - CNAME
Данные - domain.mail.yandex.net.
Ну вот и все, самое сложное закончилось, теперь создаем отдельные страницы для форума под каждую линейку.
vBulletin 3.x
Итак, для начала нужно создать дополнительный шаблон того стиля, который вами используется. Этот дополнительный шаблон должен иметь префикс custom_, то есть само название дополнительного шаблона должно выглядеть вот так:
Code:
custom_ШАБЛОН
и в этот шаблон вставляем код, обратите внимание не забудьте заменить YourDomain.ru на имя вашего домена!!!
Теперь зайдите по адресу http://ваш форум/misc.php?do=page&template=название_страницы
вы увидите вход на почту, если вы в настройках разрешите пользователям самим создавать себе почтовые ящики на вашем домене, то в код странице ниже поставьте ссылку
Прямая ссылка на вход в почтовый ящик (интеграция с системой авторизации вашего сайта)
Вы можете разместить на вашем сайте ссылку "Почта", кликнув на которую, авторизованный у вас пользователь будет попадать в свой почтовый ящик на Яндекс.Почте для доменов сразу же, без дополнительного ввода логина и пароля.
Для решения этой задачи потребуются навыки программирования на том серверном языке, на котором разработан ваш сайт (например, PHP или Perl). Если вы не обладаете этими навыками, то рекомендуем обратиться к специалисту с соответствующим опытом (например, к разработчику вашего сайта).
Механизм автоматической авторизации в Яндекс.Почте для доменов предполагает, что у вас на сайте по определенному URL (далее называемому авторизационным URL) расположен скрипт, выполняющий необходимые для подтверждения права на доступ к почте операции. Этот скрип и необходимо будет написать.
Для подготовки авторизационного URL и размещения ссылки необходимо выполнить следующие 4 шага.
Получить авторизационный токен (если вы его еще не получали ранее при использовании API - см. метод №1 https://pddimp.yandex.ru/get_token.xml).
- Для этого вам необходимо зайти на: pdd.yandex.ru, авторизоваться (если вы еще не авторизованы) и в адресной строке браузера заменить текущую ссылку на следующую https://pddimp.yandex.ru/get_token.x...=yourdomain.ru, заменив yourdomain.ru на имя вашего домена.
- Перейдите по этой ссылке, и в ответе вы получите авторизационный токен в секции ok, атрибут token.
- Более подробно о получении авторизационного токена можно почитать в нашей справке по API
Разработать скрипт, подтверждающий право пользователя на доступ к почте, и выложить его на ваш сайт. URL, по которому можно будет обратиться к этому скрипту, будет являться авторизационным URL. Скрипт должен делать следующее:
- проверять авторизацию на вашем сайте (например, по куке)
- определять логин авторизованного пользователя
- получать по этому логину кратковременный токен посредством метода №27 user_oauth_token.xml из API. В этот метод надо передать логин пользователя, ваш домен и авторизационный токен.
Не путайте авторизационный токен с кратковременным токеном. Время жизни первого токена неограниченно и он используется для доступа ко всем методам API. Время жизни второго токена ограничено 30 секундами и он необходим лишь для передачи системе авторизации Яндекс.Почты для доменов факта авторизованности конкретного пользователя на вашем сайте.
Логин, который вы передаете в метод user_oauth_token будет использоваться в качестве имени почтового ящика пользователя. То есть почтовый адрес пользователя - это login@yourdomain.ru, где login это логин, переданный в user_oauth_token, а yourdomain.ru - это ваш домен.
- если проверка авторизации на пользователя на вашем сайте произошла успешно и кратковременный токен успешно получен, то ваш скрипт (расположенный по авторизационному URL) должен редиректить браузер пользователя на URL Яндекс.Почты для доменов, авторизующий по кратковременному токену (№28 http://passport.yandex.ru/passport?m...ed-pdd-partner из API). В параметр error_retpath надо указывать URL, на который вы хотите перенаправить пользователя в случае возникновения каких-либо ошибок. В параметр access_token необходимо передавать кратковременный токен, полученный на предыдущем шаге.
Внимание! Кратковременный токен валиден всего 30 секунд. Поэтому время выполнения всех операций разработанным вами скриптом не должно превышать 30 секунд. Как показывает практика, ни один из пользователей не будет дожидаться авторизации 30 секунд. Обычно все происходит на порядок быстрее. Поэтому времени жизни кратковременного токена хватит с большим запасом.
Привязать авторизационный URL к вашему домену посредством метода №29 из API
Разместить на вашем сайте ссылку вида <a href="http://mail.yandex.ru/for/domain.ru?loginfrompartner=user@domain.ru">Почта</a>
где user@domain.ru надо заменить на e-mail текущего авторизованного на вашем сайте пользователя.
Клик на эту ссылку приведет к проверке авторизации пользователя в Яндекс.Почте для доменов. И, если пользователь авторизован под логином user@domain.ru, то произойдет перенаправление в его почтовый ящик.
В противном случае произойдет перенаправление на ваш авторизационный URL (см. выше), который сделает еще одно перенаправление на http://passport.yandex.ru/passport?m...ed-pdd-partner. Где, в свою очередь, будет проведена проверка валидности токена и, если он корректный, будет установлена авторизация, после чего пользователь попадет в свой почтовый ящик.
Таким образом, эта ссылка всегда (если все на вашей стороне будет реализовано правильно) будет направлять пользователя в его почтовый ящик без ввода логина и пароля.
В этой схеме есть важные детали, о которых вы обязательно должны знать:
Настоятельно рекомендуем вам сначала проверить работу прямой ссылки на вход в почтовый ящик на тестовых пользователях, чтобы в случае ошибок на при реализации шагов 1-4 в скрипте не помешать нормальной работе вашего сайта. Если вы точно убеждены, что на вашей стороне все сделано правильно (в строгом соответствии с шагами 1-4), но при этом входа в почтовый ящик не происходит или наши методы возвращают ошибки, сообщите об этом в службу поддержки через форму обратной связи.
Для оперативного решения проблемы рекомендуем в письме указывать следующее:
- ваш домен и имя ящика, на котором не сработала авторизация
- ссылку на ваш сайт, где размещена ссылка "Почта"
- методы API, которые вы вызывали, или на которые делали редирект
- результаты, которые они вернули
- URL (или скриншот, если это возможно) страницы, которую вы (или ваши пользователи) увидели после нажатия на ссылку "Почта" (см. шаг 4)
- если это возможно, присылайте также исходный код вашего скрипта из шага 2
Окончание авторизации на почте и на сайте не синхронизируется. То есть выход из почты (разлогинивания) не означает выхода с сайта и наоборот. В этом есть и минусы и плюсы, но пока это работает только так. Не исключено, что в будущем такое поведение изменится. Например, можно будет задать настройку - выходить синхронно или не синхронно.
Вы полностью ответственны за то, что в методе формирования кратковременного токена передаете нам логин авторизованного пользователя. Если в этот метод передавать не авторизованный логин, то есть логин который можно подставить в URL, не передавая при этом никаких других авторизующих сущностей, например, пароля или id сессии в куке (например, из-за ошибок в вашем скрипте), то злоумышленнику при желании будет очень просто получить доступ к почте этого пользователя
Вы полностью ответственны за безопасность авторизации на вашем сайте. Если злоумышленник сможет авторизоваться на вашем сайте, то он сможет проникнуть в почту пользователя, нажав на ссылку "Почта".
Поэтому крайне рекомендуем вам использовать безопасные методы авторизации. А именно:
- не передавать логин и пароль в открытом виде (использовать https)
- делать авторизационные куки длинными и трудно подбираемыми
- периодически (например, раз в несколько часов) обновлять авторизационную куку
Кроме того, не рекомендуем вам использовать различные методы так называемой удобной авторизации, которые упрощают жизнь не только пользователям, но и злоумышленникам, а именно:
- Вечная кука и вечная сессия. Пользователь, не нажавший на выход, остается авторизованным на компьютере сколько бы он ни заходил с него на ваш сайт. Авторизация, длящаяся несколько месяцев, так же не намного лучше постоянной.
- Автологинящие ссылки. То есть ссылки, которые вы рассылаете своим пользователям в почтовые ящики, и при нажатии на которые пользователь будет автоматически авторизован.
Если на вашем сайте предусмотрены эти возможности, то крайне не советуем вам давать возможность безлогинового входа в почту пользователям с вечной кукой или пришедшим по автологинящей ссылке. Как вариант, можно в случае отрабатывания автологинящей ссылки, если авторизационная кука не установлена, показывать пользователю его логин и просить ввести пароль.
Ящики пользователей в Яндекс.Почте для домена не создаются автоматически по нажатию на ссылку "Почта". Поэтому вы должны сначала создать все ящики для всех уже существующих ваших пользователей с помощью API. И впоследствии с помощью API создавать ящик для каждого нового пользователя и удалять ящик каждого удаляемого пользователя.
При создании ящиков вы можете указывать произвольный пароль, так как пользователи никогда не будут его вводить - попадать в почту они будут по ссылке с вашего сайта. Но если вы хотите, чтобы у пользователей работал доступ к почте через почтовые клиенты (в том числе и через мобильные почтовые клиенты), вам надо будет устанавливать для пользователей их реальные пароли. Вы можете на ваше усмотрение просить пользователей задавать специальные пароли для почтовых клиентов или синхронизировать эти пароли с текущими паролями ваших пользователей с помощью API.
P.S. Может на конкурс и не тянет, ну я старался))
(в архиве есть файл test.php с примерами использования)
Last edited by artscripts : 07-12-2011 at 05:57 PM.
Хм, а не проще ли сразу использовать интерфейс яндекса?
И предлагать пользователям регить мыла на домене?
Ведь так же даже солиднее, что пользователи заводят на домене свои мыла. Я так думаю.
LuckyNeo, так там и используется интерфейс Яндекса, только для удобства и солидности, добавлена форма входа в почту с форума, что дает форуму солидность. ИМХО. Плюс в эту форму не составляет не какого труда добавить еще 1 ссылку для регистрирования почты самими пользователями, без какого-либо участия админа.
Если вы хотите, чтобы пользователь при авторизации на вашем сайте авторизовывался автоматически и в почте, то вам нужно разместить эту же форму в скрытом фрейме. После ввода логина и пароля на вашем сайте передайте посредством JavaScript'а почтовый логин и пароль в нее и выполните сабмит. В результате чего (если логин и пароль - правильные) пользователь будет авторизован в почте, и будет проставлена соответствующая кука.
чтобы ящик создавался автоматически при регистрации нового пользователя на форуме?
не проблема в модуль VBa и поместить на главную в удобное место.
А вот автоматическую регистрацию Яша запретил. Либо админ ручками создаёт ящики - крайне не удобно, либо надо писать код под API.
Кто нибудь реализовал это?