Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie - prośba o pomoc, zabezpieczanie stron w oparciu o cookies
-Gość_Maniek_*-
post 19.07.2006, 16:39:24
Post #1





Goście







Witam

Przeglądałem już różne fora, próbowałem różnych gotowych skryptów, ale niestety nie znalazłem tego czego szukałem dry.gif ... mam nadzieję że tutaj ktoś mi pomoże snitch.gif

Niestety nie znam się na php, ale wiem - mniej więcej czego szukam

System logowania - bez bazy danych (MSQL nie mam )

1) plik z loginami i hasłami, powiedzmy typu: login||hasło - albo coś podobnego
2) formularz na stronie podpięty do skryptu php
3) zabezpieczone strony - fragment php wstawiany na początku kodu stron które chcemy zabezpieczyć

Jeśli chodzi o działanie:

po wypelnieniu formularza, skrypt sprawdza czy dana para login-haslo znajduje sie w pliku (1) jeśli tak to zapisuje jakiś ciąg znaków np. login-hasło, albo 2 itp. gdzieś w cookies u użytkownika. Zabezpieczone strony sprawdzaja ciasteczka - jeżeli znajdą wyżej sprecyzowany wpis w cookies, strony się ładują, jeśli nie wyświetla się zdefiniowany komunikat o braku autoryzacji. Po zamknięciu przeglądarki - zakończenie sesji - nasze ciasteczko jest usuwane i wejście na zabezpieczoną stronę staje się niemożliwe - chodzi o to aby nie móc się na nią dostać pomijając logowanie - np. ładując ją bezpośrednio przez podanie adresu w przeglądarce.

Wiem że pewnie zaraz mi się dostanie, że nie jasno napisane, i żebym sam się zabrał za php sadsmiley02.gif ale to jest dział przeznaczony - podobno - do szukania gotowych skryptów, więc mam nadzieję że dobrze trafiłem.

Nie wiem czy można coś takiego prosto napisać w php, jeśli tak to byłbym wdzięczny za tych parę linijek kodu od ludków dużo ode mnie mądrzejszych. Bardzo by mi to pomogło smile.gif Jeśli ktoś znalazł już taki skrypt to byłbym wdzięczny za linka.

Pozdrawiam
Maniek guitar.gif
Go to the top of the page
+Quote Post
wlq
post 19.07.2006, 17:17:49
Post #2





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 5.07.2006

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


jesli musi to wygladac tak jak napisales:
  1. <?
  2. //plik odpowiadajacy za sprawdzanie loginu, dane w pliku powinny wygladac:
  3. //username1,password1
  4. //username2,password2
  5.  
  6. session_start(); //poczatek sesji
  7.  
  8. $plik = 'sciezka do pliku';
  9.  
  10. $file = fopen($plik, "r");
  11.  
  12. while(!feof($file)) {
  13.  
  14.  $line = explode(",", fgets($file, 100));
  15.  
  16.  if($username == $line[0] && $password == $line[1]) {
  17. //lepiej takich danych nie trzymac w ciastkach, wystarczy ustawic sesje
  18. $_SESSION['logged'] = 'ok';
  19.  }
  20.  else {
  21. $error = 'blad podczas logowania';
  22.  }
  23. }
  24.  
  25. fclose($file);
  26.  
  27. echo"$error";
  28.  
  29. ?>

za kazdym razem, jak ladujesz strone wymagajaca logowania, sprawdzaj, czy $_SESSION['logged'] == 'ok'

a teraz formularz, trzeba go podpiac do skryptu sprawdzajacego:
  1. <form action="login.php" action="post">
  2. Login: <input type="text" name="username"><br>
  3. haslo: <input type="password" name="password"><br>
  4. <input type="submit>
  5. </form>


pisane na szybko, ale powinno dzialac. Warto byloby wstawic jeszcze pare poprawek, sprawdzajacych dane.
Go to the top of the page
+Quote Post
-Gość_Maniek_*-
post 19.07.2006, 18:06:16
Post #3





Goście







Witaj wlq

Dzięki za szybką odpowiedź, ale coś mi nie pasuje ... chyba dlatego że jestem kompletnym laikiem jeśli chodzi o php.

Zrobilem tak jak napisałeś - a przynajmniej tak mi się wydaje:

index.php
Kod
<form action="login.php" action="post">
Login: <input type="text" name="username">
<br>haslo: <input type="password" name="password">
<br><input type="submit"></form>


login.ddat
Kod
name1,pass1


login.php
  1. <?
  2.  
  3.  
  4. $plik = 'login.ddat';
  5.  
  6. $file = fopen($plik, "r");
  7.  
  8. while(!feof($file)) {  
  9.  
  10. $line = explode(",", fgets($file, 100));  
  11.  
  12. if($username == $line[0] && $password == $line[1]) {
  13.  
  14.  $_SESSION['logged'] = 'ok';  
  15. }  
  16. else 
  17. {
  18. $error = 'blad podczas logowania';  
  19. }
  20. }
  21.  
  22. fclose($file);
  23.  
  24. echo"$error";
  25.  
  26. ?>


Po poprawnym zalogowaniu wyświetla pustą stronę ...
i jak zrobić

Kod
$_SESSION['logged'] == 'ok'


na zabezpieczonej stronce ...

sorki za takie banalne pytania sadsmiley02.gif
Go to the top of the page
+Quote Post
-Gość_Maniek_*-
post 19.07.2006, 18:11:44
Post #4





Goście







acha - jeszcze jedno- nie musi to koniecznie wygladać tak jak napisałem.
Możliwe że można to zrobić dużo prościej.
Chodziło o to, że użytkownik raz podaje login i hasło, i ma dostęp do wszystkich zabezpieczonych stron, do momentu wyłączenia przeglądarki, zaś wejście na strony zabezpieczone, bez uprzedniego logowania jest niemożliwe.

BTW: sorki za dublowanie postów, ale jako gość nie moge ich edytować
Go to the top of the page
+Quote Post
wlq
post 19.07.2006, 18:13:30
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 5.07.2006

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


ustaw sobie na stronie dostepnej po zalogowaniu:
  1. <?php
  2. if($_SESSION['logged'] == 'ok') {
  3. echo"zalogowany";
  4. }
  5. else {
  6. echo"niezalogowany";
  7. }
  8. ?>
Go to the top of the page
+Quote Post
-Gość_Maniek_*-
post 19.07.2006, 21:17:39
Post #6





Goście







Hmmmm .... pewnie robie coś źle ... ale u mnie to za bardzo nie działa .. offtopic.gif
Chyba będę musiał się wziąść za lekturę jakiegoś manuala/książki do PHPka ...

w każdym razie dzięki za pomoc smile.gif
Go to the top of the page
+Quote Post
-Gość_Maniek_*-
post 19.07.2006, 21:25:18
Post #7





Goście







no ladnie jeszcze zamiast smutnej emotkiony wyszedl "off-topic" ... nie wiem jakim cudem sad.gif

jeszcze raz sorki za zaśmiecanie forum

Żegnam
Go to the top of the page
+Quote Post
php programmer
post 19.07.2006, 21:35:05
Post #8





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Sory, ale jak się bierzesz za coś takiego,
nieznając php to masz chyba coś z głową,
Go to the top of the page
+Quote Post
-Gość-
post 20.07.2006, 16:05:57
Post #9





Goście







php programmer - może i masz racje, ale z tego co się orientuje to ten dział nie służy do nauki php od podstaw, tylko - jak jest w opisie - do szukania gotowych skrytpów. A zaimplementować poprawnie wykonany skrypt umiem ... a przynajmniej tak mi się wydaje.

Dalej nie skomentuje, zresztą nie po to jest to forum.

Ide poszukać tego skryptu /i ewentualnej pomocy/ gdzie indziej, może będę miał więcej szczęścia.

BTW: fotka wygląda na kobiecą, a nick na męski ... ciekawe jak to jest ... zresztą co za różnica ..

Niestety mój topic nie wniósł nic wartościowego na to fourm, więc proszę o jego skasowanie.

Miłego dnia wszystkim, mnie już tu nie ma
Go to the top of the page
+Quote Post
strife
post 20.07.2006, 16:21:52
Post #10





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

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


Ach... Logowanie mój temat biggrin.gif Przed tym jak zrezygnujesz z naszego forum ( bóg wie czemu sadsmiley02.gif ), to zapoznaj się jeszcze z tematem, w którym napisałem prosty systemik, tym trzem osobom w temacie pomógł i nie tylko, może ty też będziesz miał szczęście smile.gif

Cytat
BTW: fotka wygląda na kobiecą, a nick na męski ... ciekawe jak to jest ... zresztą co za różnica ..
Jakiś poziom trzeba zachować, a takie gadki to na PW smile.gif

Niektórzy tutaj czekają pół roku na odpowiedź, a Ty po dwóch dniach chcesz uciec ... Więcej cierpliwości winksmiley.jpg

Jak coś to czekam na ew. pytania dotyczące logowania ( zrymowało się biggrin.gif ).

Pozdrawiam serdecznie smile.gif


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

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: 14.07.2025 - 00:08