У меня есть веб-сервис nu_soap, который я хочу создать и отправить с ним код Captcha и изображение.PHP-переменные сеанса не создаются при использовании nusoap webservice с устройства Android.
Я использую getcaptcha
веб-службы, чтобы положить сгенерированный код Captcha в переменной сеанса, а также Captcha Id, а с помощью другого веб-службы с именем: validateCaptcha
Я проверяю, если она действует или нет,
Проблема заключается в когда я проверяю свои веб-сервисы с помощью Firefox Soa, клиентские аддоны веб-сервисов работают нормально, и все переменные сеанса работают нормально.
но когда я пытаюсь использовать Android-телефон, чтобы проверить его, переменные сеанса не определены или пусты.
прибудет капчу:
<?php
session_start();
include_once('./Utility/DBM.php');
include_once('captcha.class.php');
class getCaptcha extends DBM
{
public function getcaptchacode($dump)
{
//creating and generating captcha image and code
$img = createcaptcha();
//Creating Captcha Id
$CaptchaId = (mt_rand(1,1000) . "1234");
imagepng($img[0],'Captcha/'.$CaptchaId.'.png');
imagedestroy($img[0]);
//encoding to base64 and getting file content
$base64 = base64_encode(file_get_contents('./Captcha/'.$CaptchaId.'.png'));
//setting up session for captcha
$_SESSION['Captcha_Code']=$img[0];
$_SESSION['Captcha_ID']=$CaptchaId;
$img[]='';
$captcha=$base64;
$captchaId = $CaptchaId;
$this->strResult = "";
$this->strResult.="<captcha>";
$this->strResult.="<captcha>$captcha</captcha>";
$this->strResult.="<captcha_Id>$captchaId</captcha_Id>";
$this->strResult.="</captcha>";
}
function __toString()
{
if($this->strResult!=""){
return $this->strResult;
}
return "";
}
}
?>
Validate капчет:
<?php
session_start();
include_once('./Utility/DBM.php');
class validateCaptcha extends DBM
{
public function validatecaptcha($CaptchaCode,$Captcha_Id)
{
if(($CaptchaCode!=""&&$CaptchaCode==$_SESSION['Captcha_Code'])&&($Captcha_Id!=""&&$Captcha_Id==$_SESSION['Captcha_ID']))
{
$msg="Captcha is correct";
//generating a Token using md5 & salt
$hash = md5(mt_rand(1,1000000) . "123456");
$token=$_SESSION['CapToken'] = $hash;
//starting token session time
$_SESSION['Token_time'] = time();
//destroying captcha image
unlink('./Captcha/'.$Captcha_Id.'.png');
}
else
{
//destroying captcha image
unlink('./Captcha/'.$Captcha_Id.'.png');
//destroying all session
//session_destroy();
$msg="Wrong Captcha Entered";
$token="";
}
$this->strResult = "";
$this->strResult.="<captcha>";
$this->strResult.="<captcha>$msg</captcha>";
$this->strResult.="<token>$token</token>";
$this->strResult.="</captcha>";
}
function __toString()
{
if($this->strResult!=""){
return $this->strResult;
}
return "";
}
}
?>