Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php] System logowania i sesje
-gosc_mufan-
post 21.07.2006, 11:00:34
Post #1





Goście







Witam mam problem.Dopiero zaczynam zabawe z php a juz musze napisac system logowania oparty mysql. Czy moglby mi ktos pomoc dokladnie chodzi o to z na stronce sa miejsca na login i haslo i po kliknieciu na loguj powino sprawdzac czy taki user jest w bazie danych. Dziekuje za szybka odpowiedz:)

----------------------
Pozwoliłem sobie zmienić nazwę
wątku : )
---
~strife
Go to the top of the page
+Quote Post
Cysiaczek
post 21.07.2006, 11:08:04
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Skoro musisz napisać, to znaczy, że to komercyjna zabawka. Skoro nie znasz php i mysql'a, to jak chcesz to napisać? Chcesz pomocy, czy gotowca? Jak gotowca, to nie ten dział.
1. Stwórz tabelę w bazie danych zawierającą żytkowników
2. Napisz kod, który będzie pamietał uzytkownika (np. w oparciu o mechanizm sesji w php)
3. Przy stronach, które mają być zabezpieczone umieść kod sprawdzający, czy użytkownik, który odwiedz stronę ma do tego prawo. Sprawdzasz, czy osoba przedstawiająca się przez sesję jest umieszczona w bazie danch.

Jeśli nie jesteś w stanie napisać sam, to poszukaj gotowych skryptów, ale bacz na licencje.

Ten post edytował Cysiaczek 21.07.2006, 11:09:01


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
adi2005
post 21.07.2006, 11:31:34
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 17.07.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jest masa ksiazek na ten temat. Mozna je już kupić za ok 30zeta


--------------------
php Programinng
NightClubbing
Heroes of Might and Magic - Titans Rulezz!
Go to the top of the page
+Quote Post
scanner
post 21.07.2006, 13:45:16
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




@adi2005: jeszcze jedna taka odpowiedz i zaliczysz warna

A do autoa: Czy COKOLWIEK próbowałeś już zrobić?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
adi2005
post 21.07.2006, 14:03:45
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 17.07.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@scanner: Oki sorki ale jednak chciałbym wiedzieć co napisałem nie tak


---
Autor nie pytał o książki.
Pytał o konkretne zagadnienie. A to że książki są to każdy wie.
Też chcesz żeby Cie odesłać jak o coś zapytasz?
Jednym słowem: post jest zły bo nie na temat i specjalnie nabity.

A takie pytania jak to to też na PW.

~mike_mech


---
Dzięki mike-mech
~scanner


--------------------
php Programinng
NightClubbing
Heroes of Might and Magic - Titans Rulezz!
Go to the top of the page
+Quote Post
-gosc_mufan-
post 21.07.2006, 15:19:54
Post #6





Goście







Tak probowalem sie bawic z gotowcami ale mi nie szlo. Poza tym bym wolal sam cos napisac. Mam juz gotowa baze w mysql ale nie wiem jak zaczac pisac samo logowanie.
Go to the top of the page
+Quote Post
acztery
post 21.07.2006, 15:41:03
Post #7





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

Ostrzeżenie: (0%)
-----


formularz wysyla dane login i password do naszego skryptu. skrypt liczy uzytkownków w bazie majacych taki login i takie haslo pozniej dajesz if jezeli 1 tzn ze zalogowany dobrzez jezeli 0 to zle . jezeli bedzie dobrze mozeszesz wszystko wpakować do sessji ( imie,login,itp wedle uznania ) Wszystko wysylasz metoda POST z formularza rzecz jasna. nie zapomnij tez o MD5 tzn kodowanie hasła w manuali pisze wiecej
Go to the top of the page
+Quote Post
strife
post 21.07.2006, 16:04:48
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Witam,

Napiszę Ci dość szybko czym jest logowanie w php i jak przebiega, ponieważ temat logowania był wałkowany i jest bardzo długo, więc sam rozumiesz, że pisać n'ty raz to samo robi się z oporem ( przynajmniej mi ). No ale przejdźmy do rzeczy, zakładam, że pewne podstawy z php znasz takie jak tworzenie warunków, pętli, zmiennych. Jeżeli już masz ten zasób wiedzy, to przejdźmy do napisania samego skryptu logowania.

Na początku tworzymy plik o dowolnej nazwie, u mnie będzie się nazywał login.php, ten plik umożliwi stworzenie tzw. zmiennej sesyjnej odpowiadającej za zalogowanie się na stronę. O zmiennach sesyjnych możesz poczytać w manualu w dziale zmienne predefiniowane. Oczywiście, samo tworzenie zmiennej sesyjnej nie wystarczy, jest potrzebny też formularz, który umożliwi nam dowolne logowanie.

Przykładowy formularz może wyglądać w ten sposób:

  1. <form method="post" action="login.php">
  2. <input type="text" name="login" />
  3. <input type="password" name="password" />
  4. <input type="submit" value="zaloguj sie" />
  5. </form>

Oczywiście ten formularz umieszczamy w naszym pliku, bądź innym wzkazującym na login.php ( action ). Gdy już mamy w takiej postaci nasz plik, przystępujemy do obrobienia go. Tak więc tworzymy warunek, który nam sprawdzi czy dane przesłane w formularzu są prawidłowe.

  1. <?php
  2. // powyzej badz ponizej przed tym kodem moze byc umieszczony formularz ;)
  3. // najpierw sprawdzamy, czy wysyłane zmienne w formularzu nie są puste.
  4. if ( ! empty( $_POST['login'] ) && ! empty( $_POST['password'] ) )
  5. {
  6. // jezeli nie dokonujemy sprawdzenia poprawnosci loginu i hasla
  7. if ( $_POST['login'] == 'strife' && $_POST['password'] == 'admin' )
  8. {
  9. // tworzymy zmienna sesyjna
  10. $_SESSION['auth'] = '1';
  11. }
  12. else
  13. {
  14. echo 'Podales zly login badz haslo!';
  15. }
  16. }
  17. else
  18. {
  19. echo 'Wprowadz dane do formularza :)';
  20. }
  21. ?>

Przy tak skonstruowanym kodzie, i poprawnym wpisaniu danych zostanie dodane zmienna sesyjna o nazwie 'auth'. Zmienne sesyjne są widoczne w każdym miejscu ponieważ ich zasięg jest globalny i tutaj też zapraszam do zapoznania się z manual'em i rozdziałem o zmiennych predefiniowanych.

Następnie posiadając taką zmienną możemy w każdym miejscu sprawdzić, czy użytkownik jest zalogowany, czyli sprawdzamy czy ta zmienna istnieje.

  1. <?php
  2. if ( isset( $_SESSION['auth'] ) )
  3. {
  4. echo 'Wiadomosc dla zalogowanego uzytkownika';
  5. }
  6. ?>

Wszystko wydaje, się proste, ale kod który napisałem, może nie działać.. Dlaczego? W kodzie, który zaprezentowałem nie ma nigdzie zdefiniowanego startu sesji, więc tworzenie zmiennych sesyjnych i ich sprawdzanie nie ma najmniejszego sensu. Na początku kodu musi być:

  1. <?php
  2. ?>

Wtedy, możemy dowolnie operować na sesjach. Wszystko pięknie, ale czegoś tu brakuje... a co jeśli będziemy chcieli się wylogować, tutaj z pomocą przychodzi session_destroy" title="Zobacz w manualu PHP" target="_manual, bądź unset" title="Zobacz w manualu PHP" target="_manual, z tą różnicą, że to pierwsze usunie wszystkie zmienne sesyjne, a drugie tylko wybraną:

  1. <?php
  2. unset( $_SESSION['auth'] );
  3. ?>

To by było Tyle, jeżeli chodzi o samo logowanie, teraz trochę o mysql. Posłużę się do tego kodem, który już wcześniej napisałem na tym forum:

  1. <?php
  2. $query = mysql_query("SELECT * FROM uzytkownicy WHERE `user` = '" . $_POST['user'] . "' ");
  3. $fetch = mysql_fetch_array($query);
  4. if ( $fetch ) // jesli user zostanie znaleziony w bazie
  5. {
  6. if ( md5( $_POST['pass'] ) == $fetch['haslo'] ) // jesli haslo sie zgadza
  7. {
  8.  echo 'logowanie zakonczone sukcesem';
  9. }
  10. else
  11. {
  12.  echo 'Przykro mi, ale podane haslo jest bledne';
  13.  }
  14. }
  15. else
  16. {
  17.  echo 'Podany uzytkownik nie istnieje w bazie danych';
  18. }
  19.  
  20. ?>

Oczywiście do takiego kodu można się przyczepić o kwestię bezpieczeństwa ( sql injection ), ale żeby nie przyciemniać tego przykładu odwołuję Cię do przyczepionego tematu sql injection na forum -> php. A więc przeanalizujmy powyższy kod, użytkownik wpisuje swój login i hasło, następnie wykonujemy zapytanie, które sprawdza czy dany użytkownik istnieje, jeżeli tak sprawdzamy hasło, i miejscu gdzie pojawia się informacja o poprawnym zalogwaniu, możemy dodać naszą zmienną sesyjną.

Mam nadzieję, że już mniej więcej wiesz o co chodzi z logowaniem. Kod pisałem z palca, więc mogą być małe błędy. W razie pytań czy wątpliwości, pisz na forum. smile.gif

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
robos85
post 20.03.2007, 21:41:27
Post #9





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Zrobiłem takie pliki:
logowanie.html:
  1. <head>
  2. <title>Logowanie</title>
  3. </head>
  4. <body>
  5. <form method="post" action="sprawdz.php">
  6. Login: <input type="text" name="login" />
  7. Hasło: <input type="password" name="password" />
  8. <input type="submit" value="zaloguj sie" />
  9. </form>
  10. </body>
  11. </html>


sprawdz.php:
  1. <?php
  2.  
  3. define('login', 'robert');
  4. define('haslo', '123456');
  5.  
  6.  
  7. // powyzej badz ponizej przed tym kodem moze byc umieszczony formularz ;)
  8. // najpierw sprawdzamy, czy wysyłane zmienne w formularzu nie są puste.
  9. if ( ! empty( $_POST['login'] ) && ! empty( $_POST['password'] ) )
  10. {
  11. // jezeli nie dokonujemy sprawdzenia poprawnosci loginu i hasla
  12. if ( $_POST['login'] == login && $_POST['password'] == haslo )
  13. {
  14. // tworzymy zmienna sesyjna
  15. $_SESSION['zalogowany'] = '1';
  16. print("Zalogowany");
  17. }
  18. else
  19. {
  20. echo 'Podales zly login badz haslo!';
  21. }
  22. }
  23. else
  24. {
  25. echo 'Wprowadz dane do formularza :)';
  26. }
  27.  
  28.  
  29. ?>


plik.php
  1. <?php
  2.  
  3. if ( isset( $_SESSION['zalogowany'] ) )
  4. {
  5.  
  6. echo 'Wiadomosc dla zalogowanego uzytkownika';
  7. }
  8.  
  9. ?>


Wchodząc do pliku plik.php nic mi się nie wyświetla.
Może mi ktoś powiedzieć co tu nie tak zrobiłem?
Go to the top of the page
+Quote Post
kwiateusz
post 20.03.2007, 21:56:22
Post #10


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




bezpośrednio do plik.php? to czego oczekujesz że zmienna w ifie z powietrza sie wyczaruje?
Go to the top of the page
+Quote Post
robos85
post 20.03.2007, 22:30:44
Post #11





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


ok działa oto moje pliki:
logowanie.html pomijam,

sprawdz.php
  1. <?php
  2.  
  3. define('login', 'robert');
  4. define('haslo', '123456');
  5.  
  6.  
  7. // powyzej badz ponizej przed tym kodem moze byc umieszczony formularz ;)
  8. // najpierw sprawdzamy, czy wysyłane zmienne w formularzu nie są puste.
  9. if ( ! empty( $_POST['login'] ) && ! empty( $_POST['password'] ) )
  10. {
  11. // jezeli nie dokonujemy sprawdzenia poprawnosci loginu i hasla
  12. if ( $_POST['login'] == login && $_POST['password'] == haslo )
  13. {
  14. // tworzymy zmienna sesyjna
  15. $_SESSION['zalogowany'] = '1';
  16. //session_register('zalogowany');
  17. print("Zalogowany");
  18. print("<a href="plik.php">Klik</a>");
  19. }
  20. else
  21. {
  22. echo 'Podales zly login badz haslo!';
  23. }
  24. }
  25. else
  26. {
  27. echo 'Wprowadz dane do formularza :)';
  28. }
  29.  
  30.  
  31. ?>


plik.php
  1. <?php
  2. //session_register('zalogowany');
  3. if ( isset( $_SESSION['zalogowany'] ) )
  4. {
  5.  
  6. echo 'Wiadomosc dla zalogowanego uzytkownika';
  7. print("<a href="wyloguj.php">Klik</a>");
  8. }
  9.  
  10. else
  11. {
  12. echo 'zaloguj się';
  13. }
  14. ?>


wyloguj.php
  1. <?php
  2.  
  3. print("wylogowano");
  4.  
  5. ?>


tylko teraz moje pytanie brzmi: jak przerobić plik sprawdz.php aby po udanym zalogowaniu przeiosło mnie do pliku index.html questionmark.gif wiem że trzeba dodać header(...) ale w którym miejscu ?
Go to the top of the page
+Quote Post
kwiateusz
post 20.03.2007, 22:39:22
Post #12


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




np. zamiast
  1. <?php
  2. print("Zalogowany");
  3. print("<a href="plik.php">Klik</a>");
  4. ?>
Go to the top of the page
+Quote Post
robos85
post 20.03.2007, 22:44:49
Post #13





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


kurde rzeczywiście ;p
Ale to wynik tego że nie śpię 19h ponad i po treningu jestem.

to jeszcze tylko pytanko szybkie:

jeżeli jestem już zalogowany, jak mogę wyświetlić ID sesji??

Póki co to mi do szczęścia potrzeba smile.gif
Go to the top of the page
+Quote Post
kwiateusz
post 20.03.2007, 22:47:05
Post #14


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




wystarczy manula przejrzeć...
session_id" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
robos85
post 20.03.2007, 23:32:15
Post #15





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


zrobiłem taki plik:

wybór.html
  1. <title>strona startowa</title>
  2. </head>
  3. <br>
  4. <?
  5. session_start();
  6.  
  7. if ( isset( $_SESSION['zalogowany'] ) )
  8. { ?>
  9. <font size="6" color="blak" face="times"><center><B>Wybierz zadanie:</center></font>
  10. <br>
  11. <center><table height="20%" width="20%" border="1">
  12. <tr><td align="center">
  13. <a href="obliczenia.html"> kalkulator</a></td></tr>
  14. <tr><td align="center">
  15. <a href="zapisz.html"> wysyłanie pliku </a></td></tr></table></center>
  16. </body>
  17. </html> <?
  18. }
  19. else
  20. {
  21. header("Location: wybor.html");
  22. }
  23. ?>


Chodzi mi o to, żeby był w .html i po wejściu w niego była sprawdzana sesja.
Lecz jak wchodzę zawsze się pokazuje menu. Pewnie plik jest powalony. Jak to przerobić na działający?
Do czego dążę: otóż jak sprawdzać sesję w plikach o rozsz: .html questionmark.gif ten wybor.html to przykład, który nie wiem jak rozwiązać i liczę na waszą pomoc

Ten post edytował robos85 20.03.2007, 23:36:20
Go to the top of the page
+Quote Post
Cienki1980
post 20.03.2007, 23:38:41
Post #16





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Jeżeli chcesz korzystać z kodu PHP musisz umieszczać go w plikach *.php


--------------------
404
Go to the top of the page
+Quote Post
robos85
post 20.03.2007, 23:43:37
Post #17





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


yhm ok będę to robił, bo myślałem że jakoś da radę w *.html zrobić.
Go to the top of the page
+Quote Post
kwiateusz
post 21.03.2007, 00:51:44
Post #18


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




da o ile możesz używać plików htaccess smile.gif poszukaj na google co należałoby wpisać

bo ja akurat nie pamietam smile.gif
Go to the top of the page
+Quote Post
idas
post 26.03.2007, 00:16:25
Post #19





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.03.2007

Ostrzeżenie: (0%)
-----


Yo!
Mam pytanie: przedstawione tutaj kody do logowania dzialaja ok. W momencie w ktorym uzytkownik sie zaloguje mamy zmienna sesyjna, ktora to informuje ze jest zalogowany. Wyobrazmy sobie ze do zmiennej sesyjnej przypisuje nazwe uzytkownika powiedzmy $login. Teraz mam zmienna sesyjna $_SESSION['login'] = $login; i na jej podstawie sprawdzam czy dany uzytkownik jest zalogowany.
Wyczytalem jeszcze, ze w wypadku uzywania sesji trzeba wklepywac na poczatku dokumentu linijke session_start();
Hmmm...moje pytanie jest takie:
W pliku logowanie.php mam skrypt ktory pobiera mi wpisana z klawiatury nazwe uzytkownika, haslo i sprawdza czy w bazie danych w tabeli UZYTKOWNICY jest w kolumnie login i haslo taka sama wartosc jak ta podana przez uzytkownika. Jesli ja znajdzie to utwozy ta zmienna sesyjna $_SESSION['login']=$login; JAK TA ZMIENNA PRZEKAZYWAC NA KOLEJNE PODSTRONY DO KTORYCH BEDE MIAL ODNOSNIKI? W URL raczej odpada bo to kazdy przeciez zobaczy winksmiley.jpg
Dzieki

Ten post edytował idas 26.03.2007, 00:33:32
Go to the top of the page
+Quote Post
strife
post 26.03.2007, 00:49:37
Post #20





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(idas @ 26.03.2007, 01:16:25 ) *
Yo!
Mam pytanie: przedstawione tutaj kody do logowania dzialaja ok. W momencie w ktorym uzytkownik sie zaloguje mamy zmienna sesyjna, ktora to informuje ze jest zalogowany. Ale jak w takim wypadku rozroznic np. uzytkownika Jas od uzytkownika Adam? Bo z tego co widze to w momencie pomyslnego logowania jest tworzona jedna i ta sama zmienna...


Możesz rozróżnić tych użytkowników poprzez nadanie im odpowiednich ról. Czyli w bazie danych tworzysz sobie dwie tabele, w pierwszej masz użytkowników, a w drugiej maski dostępu ( podział na role ). Powiedzmy, że tabela użytkowników zawiera następujące pola

Kod
id | name | password | mask
1     Jaś       md5hash    1
2    Adam    md5hash    2


Natomiast tabela z maskami, będzie wyglądała w ten sposób:

Kod
id | name | has_admin |
1      admin     1
2       user      0


To chyba najprostrzy przykład jaki może być. No i wtedy, w momencie zalogowania dodajesz kolejną zmienną, która będzie odpowiadała za dostęp do panelu administracyjnego. $_SESSION['admin']. W ten sposób możesz rozróżnić użytkowników i przydzielać im odpowiednie role. Poszukaj na forum na ten temat już trochę o tym pisaliśmy.

  1. <?php
  2. $query = mysql_query("SELECT * FROM uzytkownicy WHERE `user` = '" . $_POST['user'] . "' ");
  3. $fetch = mysql_fetch_array($query);
  4. if ( $fetch ) // jesli user zostanie znaleziony w bazie
  5. {
  6. if ( md5( $_POST['pass'] ) == $fetch['haslo'] ) // jesli haslo sie zgadza
  7. {
  8.  echo 'logowanie zakonczone sukcesem';
  9.  $_SESSION['login'] = '1';
  10.  // dodawanie ról w momencie poprawnego zalogowania
  11.  $query = mysql_fetch_array( mysql_query("SELECT * FROM maski_dostepu WHERE id = " . $fetch['mask'] . " ") );
  12.  $_SESSION['has_admin'] = $query['has_admin'];
  13.  /**
  14. * potem sprawdzac czy ktos ma gdzie dostep przykladowo czy Janek moze
  15. * wejsc na strone x sprawdzasz tak 
  16. * if ( ! empty( $_SESSION['has_admin'] ) )
  17. * { 
  18. * echo 'masz dostep';
  19. * }
  20. */
  21. }
  22. else
  23. {
  24.  echo 'Przykro mi, ale podane haslo jest bledne';
  25.  }
  26. }
  27. else
  28. {
  29.  echo 'Podany uzytkownik nie istnieje w bazie danych';
  30. }
  31. ?>


W prostrzy sposób możesz tych użytkowników rozróżnić, poprzez dodanie pola has_admin w tabeli z użytkownikami, ale takie rozwiązanie jest mało optymalne, bo musisz zmienić tą wartość wtedy u każdego użytkownika, a jak widzisz z podziałem na role zmieniasz to tylko w jednym rekordzie.

uff... mam nadzieję, że teraz już to rozumiesz. Idę spać.

~edit
Cytat
JAK TA ZMIENNA PRZEKAZYWAC NA KOLEJNE PODSTRONY DO KTORYCH BEDE MIAL ODNOSNIKI?


Nie rozumiem, przecież gdy na początku każdej tej strony będziesz podawał session_start to ta zmienna będzie widoczna, więc nie ma sensu loginu inaczej tego przekazywać. Najlepiej będzie jak sam sobie to sprawdzisz.

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 06:47