Как можно прикрутить генерацию кода доступа (через смс и другие способы)?

D
На сайте с 22.02.2011
Offline
130
1426

Нужно чтобы на определенную страницу сайта посетители попадали после генерации кода через смс. У кого есть опыт, знания, как можно сделать это так, чтобы необязательно сайт целый создать под это, а прописать код в уже готовый сайт, отдельную страницу? Можно как автоматически отправлять смс с кодом в ответ, либо генерировать вручную. И какие еще могут быть способы доступа примерно как названный?

Korew
На сайте с 31.12.2007
Offline
195
#1

У многих биллингов есть готовые решения. Я когда-то smscoin на DLE прикручивал (у них стандартный модуль есть), никаких проблем не возникло.

Вот библиотека скриптов smscoin, думаю у других биллингов тоже должны быть подобные решения.

D
На сайте с 22.02.2011
Offline
130
#2

Korew, спасибо! :)

slevinseo
На сайте с 26.04.2011
Offline
9
#3

Я генерировал код, записывал в БД (или в файл), потом проверял, использовался или нет. Всё в таком духе.

Разработка PHP-скриптов, JS-скриптов, работа с CMS (Joomla, DLE, Wordpress и др.) (/ru/forum/675919) | Качественный рерайт/копирайт (/ru/forum/691698) | ICQ #: 312033.
D
На сайте с 22.02.2011
Offline
130
#4

slevinseo, это тоже можно, у компаний еще проще вроде, готовые скрипты для CMS и вроде для простых сайтов на html. Также они готовы бесплатно подсказать.

k0xa
На сайте с 15.11.2011
Offline
5
#5
Delchel:
Нужно чтобы на определенную страницу сайта посетители попадали после генерации кода через смс. У кого есть опыт, знания, как можно сделать это так, чтобы необязательно сайт целый создать под это, а прописать код в уже готовый сайт, отдельную страницу? Можно как автоматически отправлять смс с кодом в ответ, либо генерировать вручную. И какие еще могут быть способы доступа примерно как названный?

Можно решить этот вопрос с помощью системы digiseller.ru (oplata.info) (есть и электронные деньги, и смс-ки, и еще много чего)

Вот пример обработчика: http://pastebin.com/ijJ9GPD9

В обработчике нужно ввести данные из личного кабинета (и создать новый товар с кодами в самом кабинете):

#
$seller_id = '...';
$pwd = '...';

В функцию нужно передать код полученный от пользователя, т.е.

делаем форму введения кода, получаем

$code = $_POST['code']; //<--- серч банит квадратные скобки
confirm_getcode($code)

Есть у меня еще обработчик для SMSrent.ru , могу поискать, если нужно (напишите в ЛС).

(1) Шустрый онлайн сервис для восстановления сайтов из Web-Archive (http://bit.ly/ul9OAj) (2) Online Domain Checker / WebArchive by k0xa v.0.1 (http://bit.ly/u4pUeX) (3) Qeeq.Ru - персональный блог k0xa (http://qeeq.ru)
D
На сайте с 22.02.2011
Offline
130
#6

k0xa, спасибо, посмотрю этот вариант :) Отправил вам сообщение в личку.

k0xa
На сайте с 15.11.2011
Offline
5
#7

Обработчик для smsrent.ru. Как-то очень-преочень давно писал его для генерации кодов на скачиваемые архивы для web-parser.ru

(Обработчик в виде контроллера для CodeIgniter, если минимально знаете PHP, поймете что к чему)

<?
class SMSTRACKER extends CONTROLLER {

function smstracker() {
parent::CONTROLLER();

}

function post() {
$key = "YOUR_SMSRENT_KEY";

if ($this->input->post('skey') != $key) die('Invalid skey value='.$this->input->post('skey'));

$na_nomer = $this->input->post('num'); //короткий номер
$op_id = $this->input->post('operator_id'); //код оператора
$operator = $this->input->post('operator');

$price = $this->input->post('price'); //цена sms
$valute = $this->input->post('valute'); //валюта
$dohod = $this->input->post('cost'); //ваш доход
$sms_id = $this->input->post('smsid'); //id смски

$sender_phone = $this->input->post('user_id'); //номер абонента
$sms = $this->input->post('msg'); //смс абонента


list($mypref,$mycode) = $this->split_sms($sms);
$mypref = strtolower($mypref);

$ret_code = "Неизвестный префикс системы! Если вы считаете, что этой ошибки не должно быть, свяжитесь пожалуйста с администрацией";
if ('getzip' == strtolower($mypref)) $ret_code = $this->getzip($mycode);

$this->load->model('payments');
//необязательно: зафиксировать sms-платеж в базе данных
$this->payments->register_sms($sender_phone, $sms, $na_nomer, $sms_id, $operator, $dohod, $ret_code);
//вывести пользователю код (он будет отправлен ему по смс)
print $ret_code;
//отправить себе на почту уведомление о том, что покупка совершена
$this->load->library('email');
$this->email->from('sms@web-parser.ru', 'Web-Parser|SMS');
$this->email->to('info@web-parser.ru');
$this->email->subject("Web-Parser: Еще одна SMS на номер $na_nomer ;) [+$dohod руб]");
$this->email->message("Поступила SMS на номер $na_nomer (Доход: +$dohod руб)\n\nТекст SMS:\n$sms\n\nОтвет системы:\n\n$ret_code");
$this->email->send();

}

function split_sms($sms) {

$arr = explode(" ", $sms);
if (count($arr)>=2) {
return $arr;
}
elseif (count($arr)==1) {
return array(array_shift($arr), "");
}
else {
die("Неизвестный префикс системы!");
}

}

function make_pass($num) {

$pass = substr(md5($num+444), 0, 4);

return $pass;
}

function getzip($mycode) {
$ret_code ='';

if (!intval($mycode)) {
$ret_code = "Ошибка! Вы ввели код: $mycode ! В коде должны быть только цифры!";
} else {
$ret_code = "ID вашего архива: $mycode\nВаш пароль на архив: ".$this->make_pass($mycode);
}
return $ret_code;
}



}

Возможно кому-нибудь будет полезно.

D
На сайте с 22.02.2011
Offline
130
#8

Спасибо! Сохраню, посмотрю что к чему )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий