cURL login to wp - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.4409
BTC/USD64007.2926
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 11.06.2011, 02:14   #1
Dumpty
Senior Member
 
Аватар для Dumpty
 
Регистрация: 08.05.2008
Сообщений: 834
Бабло: $258860
Отправить сообщение для Dumpty с помощью ICQ
По умолчанию cURL login to wp

Всем доброй ночи
Такая задача - есть список вп блогов, хочется сделать кнопочку у каждого, по нажатию на которую сразу же логинило и кидало бы в админку этого блога.

Написал такой код:
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 ($chCURLOPT_URL$url "/wp-login.php");
curl_setopt ($chCURLOPT_SSL_VERIFYPEERFALSE);
curl_setopt ($chCURLOPT_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 ($chCURLOPT_TIMEOUT60);
curl_setopt ($chCURLOPT_FOLLOWLOCATION1);
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
//curl_setopt ($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt ($chCURLOPT_COOKIEJAR$cookie);
curl_setopt ($chCURLOPT_REFERER$url "/wp-admin/");
curl_setopt ($chCURLOPT_COOKIEFILE'');  // Enables session support
curl_setopt ($chCURLOPT_HEADER ,1); 
curl_setopt ($chCURLOPT_HEADERFUNCTION'read_header');
curl_setopt ($chCURLOPT_POSTFIELDS$postdata);
curl_setopt ($chCURLOPT_POST1);
$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();
?>
Смысл с том, что куки считываются функцией и ставятся в ручном режиме пользователю. Не помогло При редиректе на админку она просит релогин...

Первый вариант был, до этого, что тупо эхом выводился резалт переменная в браузер, без редиректа, без считывания кук. В том варианте скрипт логинился, выводилась админка... Но все линки были в админке с УРЛ скрипта... То есть тоже не то

Я в ПХП новичек, тем более в курл... Буду благодарен за помощь, желательно с кодом\кусками кода =)
Dumpty вне форума  
Старый 11.06.2011, 02:56   #2
GoodLife
Show Me the Money
 
Аватар для GoodLife
 
Регистрация: 13.11.2009
Сообщений: 78
Бабло: $14079
По умолчанию

Ты всё правильно делаешь с курлом. Пост запрос с сохранением кук.
Вот здесь сохраняются куки после логина:
Цитата:
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
глянь что у тебя сохранилось в файле cookie.txt

Следующим этапом тебе нужно отдать эти куки юзеру, нажавшему кнопку. Вот тут я хз
GoodLife вне форума  
Старый 11.06.2011, 07:01   #3
oso
кодер
 
Аватар для oso
 
Регистрация: 21.01.2008
Сообщений: 315
Бабло: $69585
По умолчанию

Цитата:
Сообщение от GoodLife Посмотреть сообщение
Ты всё правильно делаешь с курлом. Пост запрос с сохранением кук.
Вот здесь сохраняются куки после логина:

глянь что у тебя сохранилось в файле cookie.txt

Следующим этапом тебе нужно отдать эти куки юзеру, нажавшему кнопку. Вот тут я хз
ну а тут на помощь приходит
PHP код:
curl_setopt ($ch,CURLOPT_COOKIEFILE$cookie); 
__________________
php скрипты от $25 Отзывы: 2013-2011, 2010, 2009. acя: 384 846 ноль два шесть
oso вне форума  
Старый 11.06.2011, 09:13   #4
sergeospb
коплю на феррари
 
Регистрация: 03.07.2008
Сообщений: 1,251
Бабло: $148195
По умолчанию

Цитата:
Сообщение от GoodLife Посмотреть сообщение
Ты всё правильно делаешь с курлом. Пост запрос с сохранением кук.
Вот здесь сохраняются куки после логина:

глянь что у тебя сохранилось в файле cookie.txt

Следующим этапом тебе нужно отдать эти куки юзеру, нажавшему кнопку. Вот тут я хз
не сработает, нельзя куки для одного сайта поставить на другом сайте. Google не может поставить кукисы для mail.ru.
sergeospb вне форума  
Старый 11.06.2011, 09:51   #5
Dumpty
Senior Member
 
Аватар для Dumpty
 
Регистрация: 08.05.2008
Сообщений: 834
Бабло: $258860
ТС -->
Отправить сообщение для Dumpty с помощью ICQ
автор темы ТС По умолчанию

кука пишеться и в файл и в заголовок. пробовал и оттуда и оттуда ставить её через сеткуки - не работает...
Dumpty вне форума  
Старый 11.06.2011, 10:29   #6
sergeospb
коплю на феррари
 
Регистрация: 03.07.2008
Сообщений: 1,251
Бабло: $148195
По умолчанию

Цитата:
Сообщение от Dumpty Посмотреть сообщение
кука пишеться и в файл и в заголовок. пробовал и оттуда и оттуда ставить её через сеткуки - не работает...
я же выше написал, не получится.
sergeospb вне форума  
Старый 11.06.2011, 14:36   #7
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

Dumpty, ты таким образом можешь залогинить курл, т.е. свой php-скрипт, но не веб-браузер....да и зачем все эти проблемы, если юзер у тебя все равно нажимает кнопку.

Создай html файл и засунь в него такую кнопку:
Код:
<form action="http://domain1.ru/blog/wp-login.php" method="post" target="_blank">
<input type="hidden" name="redirect_to" value="http://domain1.ru/blog/wp-admin/" />
<input type="hidden" name="log" value="admin_login" />
<input type="hidden" name="pwd" value="admin_password" />
<input type="hidden" name="testcookie" value="1" />
<input type="hidden" name="rememberme" value="forever" />
<input type="submit" />
</form>
или 100500 кнопок:
Offtopic

ну можно генерацию этих кнопок сделать на php

по крайне мере мой вордпресс, на котором я пробовал, не проверяет реферер поста с хостом блога, а значит должно работать.
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 11.06.2011, 15:08   #8
sergeospb
коплю на феррари
 
Регистрация: 03.07.2008
Сообщений: 1,251
Бабло: $148195
По умолчанию

Цитата:
Сообщение от chesser Посмотреть сообщение
Dumpty, ты таким образом можешь залогинить курл, т.е. свой php-скрипт, но не веб-браузер....да и зачем все эти проблемы, если юзер у тебя все равно нажимает кнопку.

Создай html файл и засунь в него такую кнопку:
Код:
<form action="http://domain1.ru/blog/wp-login.php" method="post" target="_blank">
<input type="hidden" name="redirect_to" value="http://domain1.ru/blog/wp-admin/" />
<input type="hidden" name="log" value="admin_login" />
<input type="hidden" name="pwd" value="admin_password" />
<input type="hidden" name="testcookie" value="1" />
<input type="hidden" name="rememberme" value="forever" />
<input type="submit" />
</form>
или 100500 кнопок:
Offtopic

ну можно генерацию этих кнопок сделать на php

по крайне мере мой вордпресс, на котором я пробовал, не проверяет реферер поста с хостом блога, а значит должно работать.
нет, он не проверяет реферер на странице логина. по вопросу топикастера не совсем понятно происхождение блогов. В логи сервера будут ессно падать логи с реферером страницы с кнопкой, что при определенных условиях может создать неудобства :-)
sergeospb вне форума  
Старый 15.06.2011, 00:26   #9
Dumpty
Senior Member
 
Аватар для Dumpty
 
Регистрация: 08.05.2008
Сообщений: 834
Бабло: $258860
ТС -->
Отправить сообщение для Dumpty с помощью ICQ
автор темы ТС По умолчанию

Цитата:
Сообщение от chesser Посмотреть сообщение
Dumpty, ты таким образом можешь залогинить курл, т.е. свой php-скрипт, но не веб-браузер....да и зачем все эти проблемы, если юзер у тебя все равно нажимает кнопку.

Создай html файл и засунь в него такую кнопку:
Код:
<form action="http://domain1.ru/blog/wp-login.php" method="post" target="_blank">
<input type="hidden" name="redirect_to" value="http://domain1.ru/blog/wp-admin/" />
<input type="hidden" name="log" value="admin_login" />
<input type="hidden" name="pwd" value="admin_password" />
<input type="hidden" name="testcookie" value="1" />
<input type="hidden" name="rememberme" value="forever" />
<input type="submit" />
</form>
или 100500 кнопок:
Offtopic

ну можно генерацию этих кнопок сделать на php

по крайне мере мой вордпресс, на котором я пробовал, не проверяет реферер поста с хостом блога, а значит должно работать.

спасибо - попробовал, работает)
Dumpty вне форума  
Старый 15.06.2011, 00:59   #10
Dumpty
Senior Member
 
Аватар для Dumpty
 
Регистрация: 08.05.2008
Сообщений: 834
Бабло: $258860
ТС -->
Отправить сообщение для Dumpty с помощью ICQ
автор темы ТС По умолчанию

аа тут проблема одна..
у меня список доменов и так выводится в виде формы, чтобы были чекбоксы и т.д.
форма в форме запрещена... не работает как надо
как внедрить кнопку красиво в табличку?)
Dumpty вне форума