webservice curl php
Ola pessoal, estou com uma dúvida mais teórica que técnica, num sistema em webservice usando curl por exemplo, eu tenho uma classe minha que envia dados via post para outro arquivo autenticar, esta autenticando mas a resposta(echo) daquele arquivo está aparecendo na minha página. Não sei se está correto, o arquivo que autentica foi eu quem criou tbm, segue o code para entender e o "problema".
controller/login.php
if(isset($_REQUEST['submit'])){
if(empty($_REQUEST['user']) || empty($_REQUEST['pass']) || empty($_REQUEST['domain'])){
redireciona('view/login.php?r=1');
}
else{
$user = antiInject($_REQUEST['user']);
$pass = $_REQUEST['pass'];
$domain = $_REQUEST['domain'];
$sessao = new Sessao();
session_regenerate_id();
$sessao->setId(session_id());
$sessao->setVar('timeSession', strtotime(date("H:i:s")));
$token = new TokenController();
$token->setToken($user, $pass, $sessao);
unset($pass, $_REQUEST['pass'], $_POST['pass']);
$json = array("system" => "contingencia", "sid" => session_id());
//$json = json_encode($json);
$url = "http://localhost/appcont/auth.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json);
$resp = curl_exec($ch);
$resp = (object) json_decode($resp);
if(isset($resp) and $resp->status == 'authorized'):
$sessao->setVar('logado', TRUE);
$sessao->setVar('limiter', 20);
redireciona("controller/dashboard.php?m=dashboard&t=home");
elseif($resp->status == 'failed'):
echo 'Acesso não autorizado!';
$sessao->destroy();
else:
echo 'Ocorreu um erro no sistema, response não obtido.<br>Contate o administrador.';
endif;
}
}
url auth.php -> "webservice"
if(isset($_POST)){
$adServer = "Endereço AD";
$ldap = ldap_connect($adServer);
$sid = $_POST['sid'];
$sys = $_POST['system'];
$resp = array("status" => "");
$db = new Database();
$db->connect();
$db->select('token', 'token', NULL, "tok_ses_id = '$sid'");
$res = $db->getResult();
$token = $res[0]['token'];
#$key = trim(file_get_contents('serial_key.txt'));
$key = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
$password = openssl_decrypt($token, 'aes-128-cbc', $key.$sid, 0, '1234567812345678');
$ldaprdn = "$domain" . "\\" . $username;
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
$bind = @ldap_bind($ldap, $ldaprdn, $password);
if ($bind) {
$filter="(sAMAccountName=$username)";
$result = ldap_search($ldap,"dc=xxxxx,dc=XXXXXX,dc=CORP",$filter);
ldap_sort($ldap,$result,"sn");
$info = ldap_get_entries($ldap, $result);
if ($info['count'] > 0) {
if ($info[0]["useraccountcontrol"][0] <> 512) {
#echo $info[0]["useraccountcontrol"][0];
// return aut
$resp['status'] = "authorized";
$resp = json_encode($resp);
echo $resp;
exit;
}
#echo '<pre>';
#var_dump($info);
#echo '</pre>';
}
@ldap_close($ldap);
} else {
$resp['status'] = "failed";
$resp = json_encode($resp);
echo $resp;
}
}/*else{
O "echos" do auth.php aparecem na minha página, sendo que eu queria apenas receber o json devolta como resposta a minha requisição no controller login. Minha primeira vez com webservice fazer cliente e servidor...alguém pode me tirar essa dúvida?
Discussão (1)
Carregando comentários...