Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zaloguj automatycznie - zagrożenie?
nemo_x
post 29.08.2003, 04:30:29
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 15.08.2003

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


Znowu mam pytanie dotyczące kwesti bezpieczeństwa. Pisze skrypt logownia, chce udostepnić możliwość automatycznego logowania przy każdej wizycie. Oczywiście do tego użyłbym cookies. Jaką wartość zapisać w cookies, żeby nie było możliwości zalogowanie się jako ktoś inny. Czy zapisywanie w cookies session_id a następnie porównywanie go z wartością w bazie danych jest dobrym pomysłem?

[php:1:2ef5e89667]<?php

$sid = $_COOKIE['sid'];

// łączenie z bazą

$zapytanie = "select session_id from users where session_id = md5('$sid')";
$wykonaj = mysql_query($zapytanie) or die("Błąd zapytania");

if(mysql_num_rows($wykonaj) == 1)
echo "Zalogowano";
else
echo "Błąd";
?>[/php:1:2ef5e89667]
Go to the top of the page
+Quote Post
adwol
post 29.08.2003, 11:19:50
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
Znowu mam pytanie dotyczące kwesti bezpieczeństwa. Pisze skrypt logownia, chce udostepnić możliwość automatycznego logowania przy każdej wizycie. Oczywiście do tego użyłbym cookies. Jaką wartość zapisać w cookies, żeby nie było możliwości zalogowanie się jako ktoś inny. Czy zapisywanie w cookies session_id a następnie porównywanie go z wartością w bazie danych jest dobrym pomysłem?

Cookie jako mechanizm w tym przypadku jest tak samo dobrym pomysłem jak wykorzystanie go do zwykłych sesji. Jeśli wygenerujesz odpowiednio długi i losowy ciąg (np. wynik funkcji md5 z jakiegoś innego losowego ciągu) i wyślesz go jako cookie do użytkownika to szansa na zgadnięcie go przez kogoś zupełnie obcego będzie bardzo mała (pomijając sniffing http). Problem jest wtedy gdy ktoś inny korzysta z tego samego użytkownika na tym samym komputerze. Wtedy będzie mógł bez hasła zalogować się do Twojego serwisu. Dlatego myślę, że automatyczne logowanie powinno być zawsze jako opcja (nie domyślnie) i użytkownik powinien być poinformowany z czym to się to wiąże.
Go to the top of the page
+Quote Post
Seth
post 29.08.2003, 11:26:52
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Dodatkow musisz wystrzegac sie aby uzytkownik nie mogl nigdzie wpisac zadnego skryptu JS. Przez niego mozna wyciagnac cookie i dostac sie do kont uzytkownikow.
Go to the top of the page
+Quote Post
nemo_x
post 1.09.2003, 06:40:34
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 15.08.2003

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


Czyli gdybym generował ciacho w taki sposób jak w kodzie poniżej to by było w miare bezpieczne. Oczywiście wszystki zmienne predefinjowane zostaną potraktowane strip_tags(), żeby zabezpiczyć się przed kradzierzą cookiesów.
[php:1:1d76d759f7]<?php

srand((double)microtime()*1000000);
$sid = md5(uniqid(rand()));

setcookie("sid", $sid, "3600");

?>[/php:1:1d76d759f7]
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: 13.07.2025 - 14:21