Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sesje, logowanie na subdomenach
Forum PHP.pl > Forum > PHP
mrm
próbuje napisać system logowania oparty na subdomenach, zasada działania jest następująca :

internauta wprowadza adres np user1.system.pl

system rozpoznaje użytkownika [user1] i prosi o haslo.

internauta wprowadza hasło, jak prawidłowe to przezuca go do panelu administracyjnego, jak zle to pojawia sie komunikat o blednym hasle

kod php wyglada mniej wiecej tak
  1. <?php
  2. //sprawdz dane z formularza
  3. $db_qry = "zzy user 1 jest w bazie ?";
  4. $db_res = mysql_query( $db_qry );
  5.  
  6. if ($db_rws > 0) {
  7. $_SESSION['user_log'] = $userlogin;
  8.  
  9. }
  10. if ($_SESSION['user_log']!=null) {
  11.  
  12. header("Location: http://"adres panelu administracyjnego ); [user1.system.pl/admin/account.php
  13. }
  14. ?>


plik account.php

  1. <?php
  2. if ($_SESSION['user_log']!="") {
  3. //daj dostep...
  4. }
  5. else {
  6. //nie wpuszczaj...
  7. }
  8. ?>


moj problem to nieautoryzowany dostep, tzn jak sie zaloguje user1 [user1.system.pl --> user1.system.pl/admin/account.php]

to wystarczy wprowadzic adres user2.system.pl/admin/account.php i mamy dostep do konta user2...



z gory dzieki..
MWL
Moja rada jest taka, załuż dodatkową sesję przykładowo $_SESSION['site']="SITE" gdzie SITE to nazwa dostepnej strony. następnie za każdym razem sprawdź czy ta sesja istnieje i czy pasuje do obecnej strony. z bani.

dziękuje
mrm
Cytat(MWL @ 29.04.2008, 15:34:47 ) *
Moja rada jest taka, załuż dodatkową sesję przykładowo $_SESSION['site']="SITE" gdzie SITE to nazwa dostepnej strony. następnie za każdym razem sprawdź czy ta sesja istnieje i czy pasuje do obecnej strony. z bani.

dziękuje

nie do końca rozumiem
cbagov
uzalezniony od 'subdomeny' -konfig- nie przepusci na inna strone niz zapisana w configu dla danego userX
czyli gdy wszedl na user1. :
wczytany konf.ini ma zapisane user1.system.pl=user1
mechanizm wiec np. definiuje zmienna tymczasowa na login=user1

żądanie -user2.system.pl/admin/account.php- w tym momencie posluguje sie nadal login=user1 i przekierowuje dla formalnosci,
i jesli potrzeba ponownie zaczytuje config.ini (jesli np ma dynamicznie aktualizowane opcje)

czyli tak mniej wiecej jak mowi MWL
bim2
Ja bym zrobił inaczej.
Jeśli użytkownik się zaloguje, to zapisujesz
  1. <?php
  2. $_SESSION[$subdomena] = $userlogin;
  3. ?>

i później jak sprawdzasz to
  1. <?php
  2. if(isset($_SESSION[$subdomena]))
  3. {
  4. echo 'zalogowany';
  5. }
  6. ?>
cbagov
@bim2 to jest inaczej ? winksmiley.jpg
bim2
Zrozumiałem, że ty zapisujesz $_SESSION['site'] smile.gif Moim sposobem można zalogować się na kilku subdomenach a twoim tylko na 1, a dokladniej sposobem nie twoim a kolegi MWL
cbagov
mylisz sie,
mozna zalogowac na dowolnei ilosci dowolnych sub-subdomen
podalem jedynie bardziej rozbudowany przyklad choc i tak jest to wylacznie szkic
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.