Доброго времени суток!Я в php - не жужу, не пинайте ))
Есть owa на exchange2007. Есть nagios монитор (FAN). Надо проверять авторизацию через https.
Нарыл скрипт check_owa:<?php
$username = "юзверь";
$password = "пасс_для_юзверя";
$mailboxURL = "https://exchange.домен.ру/owa";
$authURL = "https://exchange.домен.ру/owa";
$pg = curl_init();
curl_setopt( $pg, CURLOPT_URL, $mailboxURL );
curl_setopt( $pg, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)" );
curl_setopt( $pg, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $pg, CURLOPT_COOKIEJAR, "cookie.txt" );
curl_setopt( $pg, CURLOPT_COOKIEFILE, "cookie.txt" );
curl_setopt( $pg, CURLOPT_HEADER, false );
curl_setopt( $pg, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $pg, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $pg, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt( $pg, CURLOPT_VERBOSE, false );
$response = curl_exec( $pg );
$info = curl_getinfo( $pg );
$postData = array();
$postData["url"] = $mailboxURL;
$postData["reason"] = "0";
$postData["destination"] = $mailboxURL;
$postData["flags"] = "0";
$postData["username"] = $username;
$postData["password"] = $password;
$postData["SubmitCreds"] = "Log On";
$postText = "";
foreach( $postData as $key => $value ) {
$postText .= $key . "=" . $value . "&";
}
curl_setopt( $pg, CURLOPT_REFERER, $info["url"] );
curl_setopt( $pg, CURLOPT_URL, $authURL );
curl_setopt( $pg, CURLOPT_POST, true );
curl_setopt( $pg, CURLOPT_POSTFIELDS, $postText );
$response = curl_exec( $pg );
$info = curl_getinfo( $pg );
$needle = "Connected to Microsoft Exchange";
if ( strpos( $response, $needle ) )
printf( "OK - Logon to OWA successful.\n" );
else
printf( "Critical - Logon to OWA failed.\n" );
?>Вкручиваю в nagios. приходит ответ (Null).
Был опыт реализации подобного, подскажите, что не правильно делаю?
Может дело в cookies? Не вижу их ((
>[оверквотинг удален]
>else
>printf( "Critical - Logon to OWA failed.\n" );
>?>
>
>Вкручиваю в nagios. приходит ответ (Null).
>
>Был опыт реализации подобного, подскажите, что не правильно делаю?
>
>
>Может дело в cookies? Не вижу их ((Без Nagios работает?
У себя проверил - работает.
>[оверквотинг удален]
>>
>>Вкручиваю в nagios. приходит ответ (Null).
>>
>>Был опыт реализации подобного, подскажите, что не правильно делаю?
>>
>>
>>Может дело в cookies? Не вижу их ((
>
>Без Nagios работает?
>У себя проверил - работает.'php -F check_owa' - даёт сообщение "Critical - Logon to OWA failed". Так проверять?
>[оверквотинг удален]
>>>Был опыт реализации подобного, подскажите, что не правильно делаю?
>>>
>>>
>>>Может дело в cookies? Не вижу их ((
>>
>>Без Nagios работает?
>>У себя проверил - работает.
>
>'php -F check_owa' - даёт сообщение "Critical - Logon to OWA failed".
>Так проверять?Так.
Можно просто "php file.php".Догадываюсь, что логин вы указали без домена.
Укажите логин в виде "домен\пользователь".
>[оверквотинг удален]
>>>У себя проверил - работает.
>>
>>'php -F check_owa' - даёт сообщение "Critical - Logon to OWA failed".
>>Так проверять?
>
>Так.
>Можно просто "php file.php".
>
>Догадываюсь, что логин вы указали без домена.
>Укажите логин в виде "домен\пользователь".Указывал "домен\пользователь", "пользователь".. это не помогает. По скрипту выдает Critical - Logon to OWA failed.
Логин/пароль верны, через https захожу.В чем может быть дело ещё? :(
Меняю под себя строчки ниже:$username = "юзверь"; ТУТ
$password = "пасс_для_юзверь"; ТУТ
$mailboxURL = "https://ex.домен.ру/owa"; ТУТ
$authURL = "https://ex.домен.ру/owa"; ТУТБольше ведь и нечего менять то ...
Подскажите как починить? :) Кто-нибудь сталкивался?
Приветствую!!Спасибо, вчера вечером выяснил, что проблема была в адресе пути. Скрипт работает и при тесте выдает "OK - Logon to OWA successful.".
Подскажите, почему он выдает "OK - Logon to OWA successful." даже если я указываю заведомо ложный логин/пароль?
>Приветствую!!
>
>Спасибо, вчера вечером выяснил, что проблема была в адресе пути. Скрипт работает
>и при тесте выдает "OK - Logon to OWA successful.".
>
>Подскажите, почему он выдает "OK - Logon to OWA successful." даже если
>я указываю заведомо ложный логин/пароль?Никто такое не реализовывал? :) Поделитесь ))
>>Приветствую!!
>>
>>Спасибо, вчера вечером выяснил, что проблема была в адресе пути. Скрипт работает
>>и при тесте выдает "OK - Logon to OWA successful.".
>>
>>Подскажите, почему он выдает "OK - Logon to OWA successful." даже если
>>я указываю заведомо ложный логин/пароль?
>
>Никто такое не реализовывал? :) Поделитесь ))Вопрос ещё актуальный :) Помогите разобраться с этим скриптом...
> Вопрос ещё актуальный :) Помогите разобраться с этим скриптом...решил проблему?