Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Phpbb i logowanie
Forum PHP.pl > Forum > PHP
Mayka
Witam, chcialem zapytac czy ktos moze ma jakies info albo dokumentacje od phpbb jakie dane sa tworzone przy logowaniu? MusE zrobic integracje strony z forum i chcialem sie dowiedziec co forum tworzy w momencie autoryzacji i jakie parametry trzeba przekazac zeby sie wstrzelic w ten mechanizm ?
SmokAnalog
Kod formularza logowania jest taki:
  1. <form action="login.php" method="post" target="_top">
  2. <table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
  3. <tr>
  4. <td align="left" class="nav">
  5. <a href="index.php" class="nav">Tytuł forum</a>
  6. </td>
  7. </tr>
  8. </tbody>
  9. </table>
  10. <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center">
  11. <tr>
  12. <th height="25" class="thHead" nowrap="nowrap">
  13. Wpisz nazwę użytkownika i hasło by się zalogować
  14. </th>
  15. </tr>
  16. <tr>
  17. <td class="row1">
  18. <table border="0" cellpadding="3" cellspacing="1" width="100%">
  19. <tr>
  20. <td colspan="2" align="center">
  21. &nbsp;
  22. </td>
  23. </tr>
  24. <tr>
  25. <td width="45%" align="right">
  26. <span class="gen">Użytkownik:</span>
  27. </td>
  28. <td>
  29. <input type="text" name="username" size="25" maxlength="40" value="">
  30. </td>
  31. </tr>
  32. <tr>
  33. <td align="right">
  34. <span class="gen">Hasło:</span>
  35. </td>
  36. <td>
  37. <input type="password" name="password" size="25" maxlength="32">
  38. </td>
  39. </tr>
  40. <tr align="center">
  41. <td colspan="2">
  42. <span class="gen">Zaloguj mnie automatycznie przy każdej wizycie: <input type="checkbox" name="autologin"></span>
  43. </td>
  44. </tr>
  45. <tr align="center">
  46. <td colspan="2">
  47. <input type="hidden" name="redirect" value=""><input type="submit" name="login" class="mainoption" value="Zaloguj">
  48. </td>
  49. </tr>
  50. <tr align="center">
  51. <td colspan="2">
  52. <span class="gensmall"><a href="profile.php?mode=sendpassword" class="gensmall">Zapomniałem hasła</a></span>
  53. </td>
  54. </tr>
  55. </tbody>
  56. </table>
  57. </td>
  58. </tr>
  59. </tbody>
  60. </table>
  61. </form>


Czyli możesz np. cURL-em wysłać żądanie POST do pliku login.php wysyłając odpowienie wartości pól.
Mayka
Jak wygląda formularz to ja wiem, chodzi mi o przeskoczenie logowania tylko utworzenie cisastek/sesji takich jak tworzy phpbb bez koniecznosci autoryzacji bezpośrednio przez forum
SmokAnalog
W ostatnim zdaniu napisałem Ci jak to zrobić. To lepsze niż próby generowania ciastka ręcznie.
Mayka
Ale curl nie wchodzi w gre.. Musze sie zalogować do forum nie znajac hasła do konta
SmokAnalog
No to jak to sobie wyobrażasz? Na jakiej podstawie ma Cię zalogować? Gdyby to było wykonalne, to by był mały problem, nie sądzisz?
Mayka
jeżeli coś takiego odbywa sie w ramach tej samej domeny to uważam że nie jest to jakimś wielkim "cudem", logowanie/rejestracje mam juz na stronie i potrzebuje przeskoczyć etap logowania na forum i tyle
xxdrago
a poczytaj tutaj:
http://phpbb3.pl/viewtopic.php?f=10&t=66

po prostu stwórz from u siebie na stronie z adresem akcji logowania na forum. Da sie też jakoś przekierować na pierwotną stronę jeśli, są prawidłowe dane. Ta opcja jest bezpieczna i w miarę prosta według mnie bez sensu jest budować cały nowy skrypt logowania i weryfikacji danych...
Mayka
mozna załatwić to zwykłą klasą
  1. public function user_login($phpbb_vars){
  2. global $phpbb_root_path, $phpEx, $db, $config, $user, $auth, $cache, $template, $_SID;
  3. //fail presumption
  4. $phpbb_result = "FAIL";
  5.  
  6. //general info
  7. $this->init(true);
  8.  
  9. if(!isset($phpbb_vars["autologin"])) $phpbb_vars["autologin"] = false;
  10. if(!isset($phpbb_vars["viewonline"])) $phpbb_vars["viewonline"] = 1;
  11. if(!isset($phpbb_vars["admin"])) $phpbb_vars["admin"] = 0;
  12.  
  13. //validate and authenticate
  14. $validation = login_db($phpbb_vars["username"], $phpbb_vars["password"]);
  15. if($validation['status'] == 3 && $auth->login($phpbb_vars["username"], $phpbb_vars["password"], $phpbb_vars["autologin"], $phpbb_vars["viewonline"], $phpbb_vars["admin"])) $phpbb_result = "SUCCESS";
  16.  
  17. //login issue noticed by Ezequiel Rabinovich (thanks)
  18. $_SESSION['sid'] = $_SID;
  19.  
  20. return $phpbb_result;
  21. }


Nie trzeba pakować całego wielkiego curla, tylko ze mnie nie o to chodzi..
SmokAnalog
cURL nie jest znowu taki wielki wink.gif
Mayka
Wielki czy nie, do problemu sie nie nadaje.. wink.gif
chodzi mi konkretnie o to: $auth->login( $userobj['username'], $userobj['password'], true, 1, 0); Co tutaj sie dzieje że user jest zalgowany ? Jakie parametry sie ustawiają

Ktoś ma jakieś pomysły ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.