11.06.2011, 02:14
|
Start Post: cURL login to wp
|
Senior Member
Регистрация: 08.05.2008
Сообщений: 830
Бабло: $258860
|
Всем доброй ночи
Такая задача - есть список вп блогов, хочется сделать кнопочку у каждого, по нажатию на которую сразу же логинило и кидало бы в админку этого блога.
Написал такой код:
PHP код:
<?php
//session_start();
$username="admin";
$password="password";
$url="URL";
$cookie="cookie.txt";
$postdata = "log=". $username ."&pwd=". $password ."&wp-submit=Log%20In&redirect_to=". $url ."/wp-admin/&testcookie=1";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url . "/wp-login.php");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt ($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url . "/wp-admin/");
curl_setopt ($ch, CURLOPT_COOKIEFILE, ''); // Enables session support
curl_setopt ($ch, CURLOPT_HEADER ,1);
curl_setopt ($ch, CURLOPT_HEADERFUNCTION, 'read_header');
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
curl_close($ch);
function read_header(){
foreach ($_COOKIE as $key => $val) {
// ($key[0]);
//echo $key;
setcookie($key, $val);
}
}
header('location: '.$url.'/wp-admin/');
die();
?>
Смысл с том, что куки считываются функцией и ставятся в ручном режиме пользователю. Не помогло При редиректе на админку она просит релогин...
Первый вариант был, до этого, что тупо эхом выводился резалт переменная в браузер, без редиректа, без считывания кук. В том варианте скрипт логинился, выводилась админка... Но все линки были в админке с УРЛ скрипта... То есть тоже не то
Я в ПХП новичек, тем более в курл... Буду благодарен за помощь, желательно с кодом\кусками кода =)
|
|
|