阅读更多
';
$URL = "http://".$cap_ip.":80/xmlrq";
$headers = array();
array_push($headers, "Content-Type: text/xml");
array_push($headers, "Accept: text/xml");
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $login_xml_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$login_output = curl_exec($ch);
curl_close($ch);
$login_xml = simplexml_load_string($login_output);
if(strpos($login_xml->reason, 'XML messaging protocol mismatch.') === false){
$proto = '4.0';
}else{
$proto = '3.0';
}
// echo $cap_ip . "|";
// echo $proto . "
";
/////////Test login attempt////////
/////////Login with correct protocol////////
$login_xml_data ='
';
$URL = "http://".$cap_ip.":80/xmlrq";
$headers = array();
array_push($headers, "Content-Type: text/xml");
array_push($headers, "Accept: text/xml");
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $login_xml_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$login_output = curl_exec($ch);
curl_close($ch);
$login_xml2 = simplexml_load_string($login_output);
$session_id = $login_xml2->session['sid'];
$xml_sid = $login_xml2->session['sid'];
$manager_id=$login_xml2->session['manager-id'];
//echo "
";
//print_r($login_xml2);
//echo "
";
// echo $manager_id . "\n";
// echo "----------\n";
//////////////////////////////////*End of login*//////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
$update_xml_config_data =
'
';
$headers = array();
array_push($headers, "Content-Type: text/xml");
array_push($headers, "Accept: text/xml");
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $update_xml_config_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$config_output = curl_exec($ch);
curl_close($ch);
$get_xml_config = simplexml_load_string($config_output);
if ($get_xml_config->reason != ''){
echo "" . $cap_ip . " Failed " . $date . "\n";
$insert_offline=pg_query($con2, "INSERT INTO lb_failed_login (cap_ip, proto, account, checked)
VALUES ('$cap_ip', '$proto', 'radius', '0')");
mail('[email protected]', 'CAP Admin account failed', "\n\r" . $cap_ip . "\nRadius login failed. Proto = " .$proto , null,
'[email protected]');
}else{
echo $cap_ip . " Passed " . $date . "\n";
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////*Beginning of logout*///////////////////////////
$logout_xml_data ='
';
// print $logout_xml_data;
$URL = "http://".$cap_ip.":80/xmlrq";
$headers = array();
array_push($headers, "Content-Type: text/xml");
array_push($headers, "Accept: text/xml");
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $logout_xml_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$logout_output = curl_exec($ch);
curl_close($ch);
/*End of logout*/
}
}
?>