Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Panel Administracyjny - sesje
MGreg
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 18.09.2007

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


Witam!
Tworzę prosty system zarządzania treścią i do logowania się do Panelu Administracyjnego chcę zastosować sesję. Podczas instalacji skryptu tworzy się tabela admin, a w niej login, hasło itp. Później, loguję sie do PA. Sesja, którą rozpoczynam wygląda tak:
Wykonuję zapytanie do sql:
  1. <?php
  2. $zapytanie = "select login, pass from admin";
  3. $wykonaj_zapytanie = mysql_query($zapytanie);
  4.  
  5. while ($wiersz = mysql_fetch_row($wykonaj_zapytanie)) 
  6.  {
  7. $login=$wiersz[0];
  8. $haslo=$wiersz[1];
  9.  }
  10. ?>

Tutaj sprawdza, czy podany login i hasło w formularzu są takie same jak w bazie danych:
  1. <?php
  2. if($_POST['login'] == $login and $_POST['pass'] == $haslo)
  3. {
  4. pa(); //Panel Adm.
  5. session_register("admin+$login+$haslo"); Rejestrowanie sesji
  6. }
  7.  
  8.  
  9. iif (!session_is_registered("admin+$login+$haslo"))
  10. {
  11. login_pa_form();
  12. }
  13. ?>

Później mam w panelu plik odpowiedzialny za konfigurację strony konfiguracja php a w nim
  1. <?php
  2. include('../mysql_config.php');
  3. pol_mysql();
  4. $zapytanie = "select login, pass from admin";
  5. $idzapytania = mysql_query($zapytanie);
  6.  
  7. while ($wiersz = mysql_fetch_row($idzapytania)) 
  8.  {
  9. $login=$wiersz[0];
  10. $haslo=$wiersz[1];
  11.  }
  12. if (session_is_registered("admin+$login+$haslo"))
  13. {
  14. Jakiś panel konfiguracyjny
  15. }
  16. ?>

Jak widać zarejestrowana sesja wygląda tak: admin+$login+$haslo, czy takie zastowanie sesji jest bezpieczne?
Pewnie dla Was to jest śmieszne, ale ja jestem początkujący (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował MGreg 10.11.2007, 19:27:14
Go to the top of the page
+Quote Post
rolnix
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 16.04.2005
Skąd: Białowieża

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


Wyliczaj sobie hash md5 ze stringa "$user$password" i wtedy porównuj.
Edit: poza tym rób coś w stylu

Kod
SELECT blabla from blabla WHERE login=$_POST['login'] AND pass=$_POST['pass']


Oczywiście wszystko zabezpiecz. Patrzę na "from admin"... masz oddzielną tabelę na jedną wartość?!

Ten post edytował rolnix 10.11.2007, 19:34:30
Go to the top of the page
+Quote Post
MGreg
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 18.09.2007

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


W tabeli admin mam login, hasło i adres email admina (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) rekordy są dodawane podczas instalacji.

Teraz zrobiłem tak: jeśli dane z formularza zgadzają się z danymi w bazie danych, to rozpoczynana jest następująca sesja:
  1. <?php
  2. if($_POST['login'] == $login and $_POST['pass'] == $haslo)
  3. {
  4. pa();
  5. session_register(md5("admin$login$haslo"));
  6. }
  7. ?>

Później w pliku np. konfiguracja.php mam takie coś:
  1. <?php
  2. if(session_is_registered(md5("admin$login$haslo")))
  3. {
  4. panel_konfiguracyjny();
  5. }
  6. ?>

Czy takie coś będzie bezpieczne?
Go to the top of the page
+Quote Post
domis86
post
Post #4





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


Cytat(MGreg @ 10.11.2007, 18:27:21 ) *
....Jak widać zarejestrowana sesja wygląda tak: admin+$login+$haslo...

Jaka zarejestrowana sesja? Rejestrujesz zmienną globalną o nazwie "admin+$login+$haslo" w sesji (a taka zmienna nie istnieje wiec bedzie to mialo wartosc NULL).

A w ogole to po ch** uzywacie register_globals? RTFM (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif)

przeczytaj przykład i "cautions":
http://pl.php.net/manual/en/function.session-register.php

i za kazdym razem jak bedziesz chcial uzyc jakiejs nieznanej funkcji to -> manual


PS: Zapamietac: jak chcecie uzywac sesje to zdajcie sie na tablice $_SESSION

Ten post edytował domis86 11.11.2007, 18:23:42
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.12.2025 - 04:28