PHPBB - autorejestracja

Odpowiedz Nowy wątek
JavaNinja
2011-05-25 13:47
JavaNinja
0

Mam pytanie odnośnie rejestracji na phpbb. Jak zalogować się na to forum automatycznie - poprzez logowanie na osobnym serwisie ? Osobny serwis stoi i Javie i javascripcie. Trochę się naszukałem, ale nie znalazłem idealnego rozwiązania. Dużym kłopotem jest to, że kompletnie się nie znam na php. Ktoś może coś polecić ? Tylko nie tutorial do php :], ale konkretny sposób rozwiązania tego problemu. Wolałbym od strony Javy.

Pozostało 580 znaków

2011-05-25 15:27
Administrator

Rejestracja: 18 lat temu

Ostatnio: 7 godzin temu

0

Chodzi o sprzezenie bazy danych Twojego serwisu oraz bazy danych forum, prawda? Tak wiec, to, co musisz zrobic, to dodac do bazy danych (do tabeli phpbb3_users) uzytkownika forum, wraz z hashowanym (MD5) haslem. Oraz co wazniejsze - musisz utworzyc cookies, ktory odpowiada cookies tworzonemu przez system phpBB. Szczegolow Ci nie podam - musisz jednak sprawdzic dane jakie phpBB wysyla do cookies oraz jego format. Znajomosc PHP nie bedzie tu potrzebna; znajac Jave bez problemu zorientujesz sie w PHP na tyle, zeby zrozumiec dzialanie, przynajmniej w podstawie.

Pozostało 580 znaków

JavaNinja
2011-05-27 13:38
JavaNinja
0

Już przedstawiam aktualna koncepcję:

  • piszę moda php, który po kliknięciu na link logowania w phpbb wysyła request do serwera mojej strony i sprawdza, czy użytkownik jest zalogowany
  • jeśli jest, to pobiera z responsa login i hasło i loguje automatycznie
  • jeśli nie jest, to przekierowuje na stronę logowania na moim serwisie

Poniższy kod może się przydać ?


<?php
$r = new HttpRequest('http://example.com/isLogged', HttpRequest::METH_POST);
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
try {
    echo $r->send()->getBody();
} catch (HttpException $ex) {
    echo $ex;
}
?>

Pozostało 580 znaków

2011-05-27 13:53

Rejestracja: 12 lat temu

Ostatnio: 9 miesięcy temu

0
JavaNinja napisał(a)

Już przedstawiam aktualna koncepcję:

  • piszę moda php, który po kliknięciu na link logowania w phpbb wysyła request do serwera mojej strony i sprawdza, czy użytkownik jest zalogowany
  • jeśli jest, to pobiera z responsa login i hasło i loguje automatycznie
  • jeśli nie jest, to przekierowuje na stronę logowania na moim serwisie

Poniższy kod może się przydać ?

<?php
$r = new HttpRequest('http://example.com/isLogged', HttpRequest::METH_POST);
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
try {
echo $r->send()->getBody();
} catch (HttpException $ex) {
echo $ex;
}
?>



<b>ZLITUJ SIĘ!</b> Oryginalne phpBB3 ma oficjalne API zintegrowane z całym silnikiem forum.
http://wiki.phpbb.com/API

Women were the reason I became a monk - and, ah, the reason I switched back...

Pozostało 580 znaków

JavaNinja
2011-05-27 14:00
JavaNinja
0

To jak puścić request do innego serwera (nie tego z forum) w celu pobrania loginu i hasła ? Podkreślam - nie znam php.

Pozostało 580 znaków

2011-05-27 15:03

Rejestracja: 12 lat temu

Ostatnio: 9 miesięcy temu

0

Masz dostęp do plików tego forum?


Women were the reason I became a monk - and, ah, the reason I switched back...

Pozostało 580 znaków

JavaNinja
2011-05-27 15:13
JavaNinja
0

Mam dostęp. Staram się właśnie dowiedzieć czegoś na podstawie tego API.

Pozostało 580 znaków

2011-05-27 15:45

Rejestracja: 12 lat temu

Ostatnio: 9 miesięcy temu

0

No to dopisujesz sobie mały dodatkowy skrypcik api.php w którym byś zaimplementował dostęp do tego co chcesz (na podstawie przykładów w artykułach, to nie jest trudne) i odpalasz go jakąś klasą do HTTP z poziomu Javy.


Women were the reason I became a monk - and, ah, the reason I switched back...

Pozostało 580 znaków

JavaNinja
2011-05-27 15:54
JavaNinja
0

Ale przecież chce, żeby autologowanie zostało uruchomione w momencie kliknięcia 'Login' w phpBB, więc jak mam to napisać w Javie ? Klikam loguj i mnie automatycznie loguje bez wpisywania danych (o ile byłem zalogowany na stronie mojego serwisu). Wg opisu w API trzeba stworzyć skrypt zgodnie z konwencją nazw, którą tam podają - przekopiować w odpowiednie miejsce i się wywoła zastępując domyślne logowanie.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0