kinder26
2.09.2008, 10:47:21
witam jak można zablokować stronę dla nie zalogowanych użytkowników
czy wystarczy umieścić przed każdą strona (podstrona)
<?php
if (isset($_SESSION['login']) //przy logowaniu dla $_SESSION['login'] zostaje przypisany użytkownik a konkretnie jego login {
.......
}
?>
wookieb
2.09.2008, 12:32:32
Tak wystarczy.
bulimaxiu
2.09.2008, 12:49:08
Ja stosuję ciut a inaczej - prościej z punktu widzenia kodu
<?php
if (!isset($_SESSION['login']) //przy logowaniu dla $_SESSION['login'] zostaje przypisany użytkownik a konkretnie jego login {
}
.........
?>
decha-design
2.09.2008, 13:02:29
dla bezpieczeństwa nie stosuj loginu w sesji ... lepiej zrobić (moim zdaniem)
<?php
$_SESSION['logged_in'] = true;
?>
Cytat(decha-design @ 2.09.2008, 14:02:29 )

dla bezpieczeństwa nie stosuj loginu w sesji ... lepiej zrobić (moim zdaniem)
<?php
$_SESSION['logged_in'] = true;
?>
Czemu ustawianie loginu w sesji nie jest bezpiecznym rozwiązaniem?
decha-design
2.09.2008, 13:12:41
nie wiem, jakoś tak mi się wydaje i osobiście proponuje zrobić to na takiej zasadzie ... no ale ... jak kto tam woli
kiamil
2.09.2008, 13:28:21
Zmienie sesję i co? Mam dostęp ;]
Jeśli serwer nie jest skonfigurowany jakoś ekstremalnie źle to tych zmiennych nie da się odczytać ani nimi manipulować, oczywiście jest możliwość, że coś jest źle ustawione i w takim przypadku lepiej wszystkie dane pobierać z bazy danych. Zawsze to jednak jakieś dodatkowe zapytania do bazy, jeśli ma się sprawdzony serwer to takie praktyki mijają się z celem.
nospor
2.09.2008, 13:30:17
Cytat
Zmienie sesję i co? Mam dostęp ;
To zmien. Pokaz jeszcze nam jak to robisz, chetnie sie czegos nowego dowiemy.
ps: pomijam tu przypadek ze wykradniesz komus id sesji lub cos takiego
decha-design
2.09.2008, 13:38:38
Czyli twierdzicie że pobranie loginu z sesji nie jest niczym strasznym?
(i tak wole swój sposób, jedno zapytanie do bazy niczego dużego nie zmieni)
kiamil
2.09.2008, 13:40:51
@nospor - W bezpieczeństwie stron internetowych nie można niczego pomijać.. To tak jakbyś kupił zamek do drzwi, zamontował go a nie zamknął..
@decha-design - Bezpieczniej jest właśnie pobierać z bazy ;]
Cytat(decha-design @ 2.09.2008, 14:38:38 )

Czyli twierdzicie że pobranie loginu z sesji nie jest niczym strasznym?
(i tak wole swój sposób, jedno zapytanie do bazy niczego dużego nie zmieni)
O ile serwer jest dobrze skonfigurowany (a zazwyczaj jest) to zmienne są kompletnie bezpieczne. Jeśli jest źle skonfigurowany to i tak to nic nie zmienia, można wtedy odczytać każdy identyfikator sesji i podszyć się pod każdego użytkownika.
@up - Jeszcze bezpieczniej jest w ogóle zrezygnować z systemu logowania.
nospor
2.09.2008, 13:44:52
Cytat
W bezpieczeństwie stron internetowych nie można niczego pomijać.. To tak jakbyś kupił zamek do drzwi, zamontował go a nie zamknął.

A jak ma sie do tego twoja wczesniejsza wypowiedz? Rownie dobrze moge powiedziec ze moge zmienic kod twojej aplikacji a potem napisac ze w bezpieczenstwie stron nie mozna niczego pomijac.

Cytat
decha-design - Bezpieczniej jest właśnie pobierać z bazy
no a skad bedziesz wiedzial co masz pobrac z bazy?
wookieb
2.09.2008, 13:49:24
Cytat(decha-design)
decha-design - Bezpieczniej jest właśnie pobierać z bazy
Po kiego?

Przeciez użytkownik nie może zmienić danych w sesji w żaden sposób (no chyba, że ma się cholernie dziurawe skrypty).
Wystarczy dobrze filtrowac dane ktore ewentualnie moga pojsc do sesji i to wystarczy,
kiamil
2.09.2008, 14:01:11
@wookieb- podstawy java-script, lub program CS Lite
wookieb
2.09.2008, 14:06:33
Można UKRAŚĆ sesje ale nie ZMIENIĆ jej zawartości (chyba ze naprawde skrypt jest totalnym dnem)
nospor
2.09.2008, 14:09:18
Cytat
no a skad bedziesz wiedzial co masz pobrac z bazy?
@kiamil ponawiam pytanie:
no a skad bedziesz wiedzial co masz pobrac z bazy?No gdzies musisz trzymac info o tym, co chcesz pobrac z bazy. gdzie? No bo chyba nie w sesji
kiamil
2.09.2008, 14:11:05
W sesji ale to będą dane do SPRAWDZENIA a nie dane końcowe, i oczywiście zahashowane ;]
nospor
2.09.2008, 14:12:45
@kiamil przeczysz sam sobie
Skoro moge zmienic dane w sesji/podmienic sesje to rownie dobrze moge podmienic te twoje dane do sprawdzenia, ktore są przeciez w sesji. Dzieki takiej podmianie uzyskam dostep do danych koncowych.
decha-design
2.09.2008, 14:44:09
dobra, dobra ... wszystko się wytłumaczyło ... nie ma znaczenia czy pobierasz z bazy czy przez sesje ... mniejsza o to =)
jak już to wole podawać w sesji ID niż login o.O
kiamil
3.09.2008, 06:43:21
@nospor - Musisz wiedzieć na co podmienić
Shili
3.09.2008, 07:14:26
Ty również.
Chyba że masz zdolności nadprzyrodzone i spoglądając na stronę wiesz od razu jakie ustawia zmienne sesyjne.
Oczywiście pomijając kontrowersyjną wersję podmiany, bo na normalnie skonfigurowanym serwerze żeby cokolwiek podmienić to trzeba się włamać na konto użytkownika, tudzież na konto roota.
Pilsener
3.09.2008, 07:27:32
<?php
if (isset($_SESSION['login']) //przy logowaniu dla $_SESSION['login'] zostaje przypisany użytkownik a konkretnie jego login {
.......
}
?>
- a ja tego nie zalecam, bo lepiej dmuchać na zimne. Z logicznego punktu widzenia wygląda to tak: "Jeśli istnieje sesja o nazwie login, to jest cacy". Zamiast tego wolę dawać:
<?php
if ($_SESSION['czy_zalogowany']=='eDc#4')
{
.......
}
?>
- jeśli sesja o nazwie "czy_zlaogowany" ma wartość zgodną z kluczem, to jest ok.
Login też zapisuję w sesji, ale używam go do identyfikacji użytkownika, a nie sprawdzania, czy jest zalogowany. Nie jestem jakimś wielkim ekspertem od sesji, ale takie rozwiązanie wydaje mi się lepsze.
Shili
3.09.2008, 08:03:31
Przy przejęciu identyfikatora sesji i tak nie będzie miało to znaczenia jak nazywa się zmienna sesyjna. Dlatego stosuje się takie udziwnienia jak sprawdzanie ip, przeglądarki, czy korzystanie z innych rzeczy nie mających nic wspólnego z sesjami.
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.