[PHP] Logowanie - SetCookie()

0

witam,
postanowilem zrobic logowanie do mojego serwisu, no i mam problem za problemem,

mam juz tabele USERS w bazie mysql, tzymam tam loginy, hashe i inne [CIACH!],
za pomoca login.php sprawdzam czy user istnieje i jak istnieje to ... no wlasnie co?

chyba powinienem stworzyc ciacho ale nie wiem jak zapisac kilka wartosci do cookie,
chce tam wpisac login, hash + jeszcze dwie rzeczy, jak to sie robi?

mam terz tabele ONLINE do ktorej zapisuje usera po zalogowaniu zeby wiedziec ile osob jest online,
tutaj nie wim ja dodawac gosci ktorzy sie nie loguja ?? (chce miec informacje typu XX zarejestroanych i XX gosci jest online) i kiedy zalogowanego goscia usunac z tabeli ONLINE (usuwanie mam w logout.php, ale co bedzie jak user po prostu wylaczy kompa, bez wylogowania sie ze stony).

czy cookie sa dostepne z kazdej podstrony i jak z nich czytac??
jak wyglada sprawa bezpieczenstwa ??
kiedy urzyc mysql_escape_string() ??

troche sie rozpisalem, mam nadzieje ze komus bedzie sie chcialo to przeczytac :-)
z gory dzieki za pomoc

0
  1. nie wysyłaj samemu ciacha, użyj session_start, zostanie do usera wysłane ciacho z sesją a do sesji już możesz ładować co chcesz i ile chcesz (tablica superglobalna $_SESSION)
  2. zapisuj IP / ID usera i aktualną godzinę do bazy, kiedy wyczytujesz, przed SELECT daj DELETE WHERE czas < terazCzas - np: 300 czyli 5 minut
  3. z każdej strony na ustalonej domenie i ścieżce, normalnie, czytasz tablicę superglobalną $_COOKIE a zapisujesz przez setcookie
  4. zawsze kiedy chcesz do zapytania dołączyć dane które user może modyfikować (przesyłane przez formularze, cookie itp)
0

dzieki za pomoc Adamo, kolejny raz :-)

jak rozumiem session_start(); musze dac na poczatku w login.php

  1. zapisuj IP / ID usera i aktualną godzinę do bazy, kiedy wyczytujesz, przed SELECT daj DELETE WHERE czas < terazCzas - np: 300 czyli 5 minut

kiedy mam te dane zapisac</b>

0

session_start() na początku każdej podstrony dobrze by było
dane zapisuj też na każdej podstronie, czas się zaktualizuje, jeśli gość jest zalogowany to dodatkowo zapisać opróćz IP jeszcze ID albo coś w tym stylu

0

A na temat sesji w PHP możesz poczytać tutaj: http://4programmers.net/PHP/Sesje_w_PHP

0

ja polecam zrobić w ciacho tylko session[id] i session[pass] generowane losowo.

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