Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przekazywanie zmiennych sesyjnych miedzy stronami
Forum PHP.pl > Forum > Przedszkole
cornholio666
czy jest mozliwosc zeby korzystac z bazy danych na innym serwerze niz sie znajduje docelowa strona? tzn:

chce zrobic logowanie oparte na bazie. Baze mam np na www.cos.pl

na tej stronia skrypt sprawdza dane uzytkownika, jezeli dane sa poprawne to

$_SESSION['zalogowany'] = 1;

i teraz jak przekazac ta zmienna sesyjna na inna strone np. www.cos2.pl/index.php
gdzie w index.php jest cos takiego:

  1. <?php
  2.  
  3. if($_SESSION['zalogowany'] == 1)
  4. {
  5. echo "tak";
  6. }
  7. else
  8. {
  9. echo "nie";
  10. }
  11.  
  12. ?>
crash
Nie da się przekazać normalnie danych sesyjnych na inny serwer. A co Ty piszesz o korzystaniu z bazy i zmieniasz temat ma sesje... O co w końcu chodzi?
cornholio666
Zmienilem temat.

Jak sie nie da normalnie to da sie nienormalnie?
crash
A np. pobrać dane sesyjne, spakować je i przesłać formularzem...
cornholio666
moglbys rozwinac mysl "spakowac"... jakos jasnej to przedstawic
beginner
a ile tych zmiennych chcesz przenieść ? Tą jedną ?
mozna to podczepic do linku tylko sprytnie zakamuflować zeby ktos sie nie autoryzowal w przelocie np
  1. <?php
  2. echo "<a href= www.cos2.pl/index.php?logged=ON>" przenosimy sie na drugą srone</a>";
  3. ?>
i zdefinjowac na www.cos2.pl/index.php zaincjwac sesje i wprowadzic do niej tą zmienną
ale to chyba mało bezpieczne.
Albo na www.cos2.pl/index.php zaincludowac jakis modul autoryzacyjny który znajudje sie na www.cos.pl
  1. <?php
  2. include("www.cos.pl/authorization_module.php");
  3. ?>
cornholio666
pierwsza twoja propozycja odpada.

druga chyba jest niewykonalna
crash
No includowanie skryptu między serwerami rzeczywiście jest niewykonalne, a co do przesyłania danych to w _GET można przecież wrzucić jakieś zhashowane kody aby zapewnić autentyczność i uniknąć "włamań", no bo pomysł z ?logged=ON jest naprawdę słaby. Innych opcji nie widzę... No jeszcze możesz przekazać dane via _POST to nawet nikt ich nie zobaczy...
johnson
można np. zapisać w bazie danych informację o zalogowaniu np.
id | session_id | zalogowany | login_datetime |
------------------------------------------------------
1 | dhfiefsudfg | 1 | 2005-12-26 12:10 |

i teraz np. GET'em przesyłać na drugi serwer tylko identyfikator sesji i sprawdzić czy taki użytkownik jest zalogowany plus dodatkowo jeszcze np. kiedy nastąpiło to logowanie i jeszcze np. numer IP do dodatkowej weryfikacji, jeśli wszytko się zgadza to zarejestrować na tym drugim serwerze odpowiednie zmienne sesyjne i gitara smile.gif

jedyny warunek jaki musi być w tej sytuacji spełniony to dostęp do jednej bazy danych z dwóch serwerów (www.cos.pl i www.cos2.pl) co wydaje mi się warunkiem dość łatwym do spełnienia

oczywiście w tabeli można zapisć dodatkowe informacje o tym użytkowniku, takie jak np. login itp. lub też jego id w innej tabeli np. users
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.