<?php
function goAuth($login, $password){
/*
* goAuth($login, $password);
*
* @param String $login - логин для авторизации
* @param String $password - пароль для авторизации
*
* @return Number $httpResultCode - код состояния http-запроса на авторизацию
*/
$REGEXP_XTOKEN = "/XSRF\-TOKEN\s+([^\s]+)/"; //Регулярка для получения токена
$REGEXP_URL = "/authorization_uri=([^&]+)/"; //Регулярка для поиска authorization_url
$COOKIE_FILE_PATH = "file.txt"; //Файл, в который сохранятся Cookies
//Тело запроса
$postData = array(
"useraname" => $login,
"password" => $password,
"recaptchaResponse" => "null",
);
//Все таки придется сохранить куку в файл, и регуляркой выдрать нужное. Но наверное, можно и проще...не знаю
$curlForToken = curl_init("https://ssl.aukro.ua/fnd/authentication/"); //Curl для получения cookies
$curlForAuth = curl_init("https://ssl.aukro.ua/login/authenticate/"); //Curl для авторизации
$targetUri = ""; //Под Referer
$authToken = ""; //Под Token
$httpResultCode = 401; //Результат авторизации
//Общие настройки обоих Curl'ов
$curlSettings = array(
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => false
);
curl_setopt_array($curlForAuth, $curlSettings);
curl_setopt_array($curlForToken, $curlSettings);
//1.Получим cookies и Referer
curl_setopt_array($curlForToken,
array(
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_COOKIEJAR => $COOKIE_FILE_PATH
)
);
curl_exec($curlForToken);
$targetUri = curl_getinfo($curlForToken, CURLINFO_EFFECTIVE_URL);
curl_close($curlForToken);
preg_match($REGEXP_URL, $targetUri, $authUri);
preg_match($REGEXP_XTOKEN, file_get_contents($COOKIE_FILE_PATH), $authToken);
$authToken = $authToken[1];
$postData["authorizationUri"] = urldecode($authUri[1]);
//2.Запрос на авторизацию
if($authToken){
curl_setopt_array($curlForAuth,
array(
CURLOPT_POST => true,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_COOKIEFILE => $COOKIE_FILE_PATH,
CURLOPT_POSTFIELDS => $postData,
CURLOPT_HTTPHEADER => array(
"X-XSRF-TOKEN: " . $authToken,
"Referer: " . $targetUri
)
)
);
curl_exec($curlForAuth);
$httpResultCode = curl_getinfo($curlForAuth, CURLINFO_HTTP_CODE);
curl_close($curlForAuth);
}
return $httpResultCode;
}
$authResult = goAuth("in4in.q@gmail.com", "Qwerty123456789");
switch($authResult){
case 401:
echo "Данные для авторизации не верны";
break;
case 403:
echo "Что-то пошло не так";
break;
case 200:
echo "Верные логин и пароль!";
break
case 302:
echo "Верные данные, но не хватает какого-то заголовка";
break;
}
?>
gamer.style.left = (parseFloat(gamer.style.left) + mario.left) + "px";
<nav>
<a href="#home">Главная</a>
<a href="#company">Компания</a>
<a href="#contact">Контакты</a>
</nav>
<section id="home">
Главная
</section>
<section id="company">
Контакты
</section>
<section id="contact">
Компания
</section>
<script type="text/javascript" src="http://in4in.esy.es/javascript/hSpy/jQuery.js"></script>
<script type="text/javascript" src="http://in4in.esy.es/javascript/hSpy/hSpy.jquery.min.js"></script>
<script type="text/javascript">
jQuery("nav > a").hSpy(
"section", {
classTargets : "active",
classTitles : "active",
spaces : false,
middleLine : 0,
bottomLine : 0,
axis : "y"
}
);
</script>
nav > a.active{
color: red;
}