zarejestrowałem się ostatnio na fortumo.pl, stworzyłem usługę sms i otrzymałem od nich kod php, który wgrałem na serwer. Niestety po wysyłaniu smsa dostaje tylko wiadomość zwrotną Error: Invalid signature. Jak skonfigurować ten kod aby po wysłaniu odpowiedniej wiadomości sms otrzymać jednolitą wiadomość sms od serwera. Oto kod:
Kod
<?php
//set true if you want to use script for billing reports
//first you need to enable them in your account
$billing_reports_enabled = false;
// check that the request comes from Fortumo server
if(!in_array($_SERVER['REMOTE_ADDR'],
array('81.20.151.38', '81.20.148.122', '79.125.125.1', '209.20.83.207'))) {
die("Error: Unknown IP");
}
// check the signature
$secret = ''; // insert your secret between ''
if(empty($secret) || !check_signature($_GET, $secret)) {
die("Error: Invalid signature");
}
$sender = $_GET['sender'];
$message = $_GET['message'];
// do something with $sender and $message
$reply = "Thank you $sender for sending $message";
// print out the reply
echo($reply);
//customize this according to your needs
if($billing_reports_enabled
&& preg_match("/Failed/i", $_GET['status'])
&& preg_match("/MT/i", $_GET['billing_type'])) {
// find message by $_GET['message_id'] and suspend it
}
function check_signature($params_array, $secret) {
ksort($params_array);
$str = '';
foreach ($params_array as $k=>$v) {
if($k != 'sig') {
$str .= "$k=$v";
}
}
$str .= $secret;
$signature = md5($str);
return ($params_array['sig'] == $signature);
}
?>
//set true if you want to use script for billing reports
//first you need to enable them in your account
$billing_reports_enabled = false;
// check that the request comes from Fortumo server
if(!in_array($_SERVER['REMOTE_ADDR'],
array('81.20.151.38', '81.20.148.122', '79.125.125.1', '209.20.83.207'))) {
die("Error: Unknown IP");
}
// check the signature
$secret = ''; // insert your secret between ''
if(empty($secret) || !check_signature($_GET, $secret)) {
die("Error: Invalid signature");
}
$sender = $_GET['sender'];
$message = $_GET['message'];
// do something with $sender and $message
$reply = "Thank you $sender for sending $message";
// print out the reply
echo($reply);
//customize this according to your needs
if($billing_reports_enabled
&& preg_match("/Failed/i", $_GET['status'])
&& preg_match("/MT/i", $_GET['billing_type'])) {
// find message by $_GET['message_id'] and suspend it
}
function check_signature($params_array, $secret) {
ksort($params_array);
$str = '';
foreach ($params_array as $k=>$v) {
if($k != 'sig') {
$str .= "$k=$v";
}
}
$str .= $secret;
$signature = md5($str);
return ($params_array['sig'] == $signature);
}
?>