SMS DeluxeSMS Deluxe |
||||
|
|
РешенияРешенияPerl скрипт для генерации ответаПроверить работоспособность вашего скрипта можно в разделе "сервисы" панели партнера. Выберите требуемый сервис и нажмите кнопку «тестирование скрипта».
#!/usr/bin/perl
#библиотека требуется для MD5 проверки use Digest::MD5 qw(md5_hex); #Переменная содержит значение указанного в настройках сервиса #секретного ключа, необходимого для проверки достоверности #полученного запроса. Вам необходимо изменить ее значение на #то, что Вы указали в настройках сервиса. my $SecretKey = "test"; #Читаем полученный GET запрос $bufer = $ENV{'QUERY_STRING'}; @pairs = split( /&/, $bufer ); foreach $pair (@pairs) { ( $name, $value ) = split( /=/, $pair ); $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $form{$name} = $value; } #Выводим заголовок ответа print "Content-Type: text/html; charset=WINDOWS-1251 "; #Выводим ответ скрипта согласно спецификации print "status: reply "; #Генерация строки для проверки my $md5str=$form{‘operator'}.$form{'phone'}.$form{'num'}.$form{'smsid'}.$SecretKey; #Генерация подписи строки my $md5sign=md5_hex($md5str); #Сравнение полученной и сгенерированной подписей if($form{skey} eq $md5sign){ #Достоверность запроса подтверждена, выводим текст ответной смс. #Также на данном этапе можно добавлять данные в базы данных итд. print "Получена смс на номер".$form{'num'}." с текстом '".$form{'msg'}."'"; }else{ #Запрос получен не от SMS Deluxe print "MD5 проверка не пройдена."; } |
РегистрацияРегистрацияВход для клиентовВход для клиентов
Остались вопросы?Задайте их прямо сейчас |
||
|
17.05.2012
07.05.2012
|