
смс:ключ
Не уверены, какую услугу выбрать? Обратитесь к странице сравнения наших услуг!
Также обратите внимание на готовые скрипты.
Техническое описание
С технической точки зрения услуга смс:ключ является простым способом ограничить доступ пользователя к содержимому того или иного сетевого ресурса. Для обхода ограничения используются индивидуально генерируемые пароли доступа; каждый такой пароль может иметь время действия и/или лимит количества использований, на ваше усмотрение. Доступ вновь закрывается, когда выполнилось поставленное вами условие — либо истекло время, либо количество использований пароля. Обратите внимание также на то, что изменения настроек вашего смс:ключа скажется только на тех пользователях, которые получили пароль после внесения изменений.
Характерными особенностями смс:ключа являются:
- легкость и быстрота установки (стандартная интеграция занимает пять-десять минут);
- простота адаптации к требованиям пользователя (возможно не только изменение внешнего вида, но и частичная/полная замена формы запроса без потери функциональности).
Пример работы
Посмотреть на пример работы смс:ключа можно здесь. В случае, если в настройках сервиса вы указали, что ресурс "для взрослых", результат будет несколько отличаться, как показано здесь.
Технология Flash
Несмотря на то, что мы не предоставляем отдельной версии смс:ключа для использования на сайтах, построенных целиком на технологии Flash, вы можете использовать приведенный ниже ActionScript-код для проверки паролей ключей:
var key : String = new String("идентификатор ключа");
var pair : String = new String("пользовательский пароль");
var loadVars : LoadVars = new LoadVars();
loadVars.onLoad = function(success : Boolean) {
if(success && loadVars.toString() == "true") {
// пароль подтвержден
} else {
// пароль не подтвержден
}
}
loadVars.load("http://key.smscoin.com/key/?s_key=" + key
+ "&s_pair=" + pair);
Обратите внимание: слова идентификатор ключа нужно заменить на идентификатор, присвоенный вашему смс:ключу , пользовательский пароль — на переданный пользователем пароль, а после комментарев пароль подтвержден и пароль не подтвержден должны идти соответствующие обработчики ситуаций — переход к закрытой части сайта и сообщение об ошибке (например, предложение ввести пароль повторно).
Модификации кода
Установка языка по умолчанию
По умолчанию все наши сервисы используют русский язык; в том случае, если часть Ваших пользователей не является русскоязычной, или Вы по каким-то другим причинам решили сменить используемый язык сервиса, просто измените адрес запроса в приведенном выше коде с
http://key.smscoin.com/key/
на
http://key.smscoin.com/language/english/key/
(вместо english можно указать любой поддерживаемый язык).
Пример работы можно увидеть здесь.
Для мобильных браузеров
смс:ключ теперь доступен также и посетителям WAP-сайтов - для того, чтобы вместо HTML генерировалась WML-разметка, Вам нужно только изменить в приведенном выше коде адрес запроса с
http://key.smscoin.com/key/
на
http://key.smscoin.com/key_wml/
Пример можно посмотреть здесь.
Версия без оформления
Данная модификация предназначена для более тесной интеграции со структурой и дизайном Вашего ресурса. Если скрипту передавать в качестве параметра s_pure=1 (key.smscoin.com/key/?s_pure=1), то в результате работы выводится только актуальная HTML-разметка формы запроса; внешний вид формы, таким образом, легко видоизменить при помощи CSS. Пример работы скрипта находится здесь. CSS, используемую по умолчанию, можно скачать здесь.
Обратите внимание, что кодировкой по умолчанию для версии ключа без оформления является windows-1251. Задать кодировку можно при помощи параметра s_enc (например, ?s_enc=koi8-r).
Если директива allow_url_fopen отключена
Некоторые хостинги отключают возможность отправки GET-запроса удаленному скрипту при помощи функции file(). Специально для таких случаев существует альтернативный код ключа, доступный в этом архиве
Вывод своего интерфейса
Используя смс:ключ, вы можете не только видоизменять стандартную форму ввода, но и выводить полностью свою версию интерфейса. Для вывода формы ввода пароля замените строку die(implode("", $response)); на следующий код:
die('<form action="http://'.$_SERVER["SERVER_NAME"]
.$_SERVER["REQUEST_URI"].'" method="get">
<input name="s_pair" type="text" value="" />
<input type="submit" value="Открыть" /></form>');
В эту форму вы можете по мере надобности добавлять любые необходимые параметры, и они в случае успешного ввода пользователем пароля будут переданы вашему коду, идущему после смс:ключа.
Чтобы вывести инструкции об отправке смс, вам потребуется список тарифов вашего смс:ключа. Вы можете получить эти данные в формате XML по адресу вида
http://key.smscoin.com/xml2/key/идентификатор ключа/
и в формате JSON (JavaScript) по адресу
http://key.smscoin.com/json/key/идентификатор ключа/
Приведенные адреса содержат полностью идентичную информацию, разнится только ее представление.
Данные содержат также информацию о номерах, на которые пользователи должны отправлять сообщения (поле number), и префиксах, необходимых для обработки сообщений нашей системой (поле prefix); в разных странах, соответственно, действуют разные номера и префиксы. Для того, чтобы сообщение было ассоциировано с Вашим сервисом, оно должно иметь вид
префикс идентификатор ключа
и быть отправлено на действующий в рамках страны номер, верный для выбранного Вами тарифа.
Если какая-либо страна не фигурирует в упомянутой выше тарифной сетке, значит, в данной стране отсутствует выбранный Вами при настройке тариф и она таким образом исключена из обработки; сообщения, отправленные пользователями, проживающими на территории этой страны, будут проигнорированы.
Более подробные инструкции по работе с тарифными сетками в форматах XML и JSON можно найти на странице http://smscoin.com/info/tariffs-export/
Имеет смысл отметить, что все приведенные выше модификации совместимы между собой, т.е. вы можете использовать альтернативный код ключа, указав при этом кодировку и т.д.
Удаленное размещение обработчика
В стандартной версии смс:ключа всю работу по выдаче и проверке паролей выполняет наш сервер. Учитывая популярность услуги смс:ключ, мы создали более гибкую ее версию для тех наших пользователей, которые хорошо знакомы с программированием для WEB. Преимущества смс:ключа с удаленным размещением перед стандартным таковы:
- все пароли хранятся и обрабатываются на вашей стороне, что позволяет локально управлять сессиями пользователей;
- вы можете управлять как внешним видом, так и в определенных пределах принципом работы услуги;
- услуга максимально устойчива к разного рода атакам на наши сервера, перебоям работы сети и т. д.
Внимание: для использования этой версии ключа категорически необходимо понимание общих принципов работы скриптов, исполняемых на стороне сервера.
Подробнее об этой вариации использования смс:ключа можно узнать здесь.
Часто задаваемые вопросы
Невозможно выбрать страну, список стран пуст
Проверьте файл .htaccess, вероятно, он содержит правила, обрезающие передаваемые скрипту параметры; также проверьте, что тариф, выбранный в настройках ключа, доступен по меньшей мере в одной стране. В частности, такая ошибка возникает, если в настройках выставлена опция "всегда использовать максимальный тариф", а в поле "не более" стоит $0.
Кодировка страницы неправильная, что делать?
Перед строкой die(implode(...)) в коде скрипта добавьте следующую строку:
header('Content-Type: text/html; charset=utf-8');
Вместо формы ввода пароля я вижу код PHP
Убедитесь, что имя файла с кодом ключа оканчивается на .php. Также удостоверьтесь, что ваш хостинг поддерживает PHP (это можно узнать в службе поддержки хостинга).