Okienko w Autoryzacji

0

Witam.Problem polega na tym, że chciałbym aby po poprawnym zalogowaniu w okienku autoryzacji i pzrejsciu do strony administracyjneji wyjściu z niej okienko z autoryzacją pojawiało mi się cały czas, teraz mam tak, ze klikajac na odsyłacz i poprawnie sie logujac, klikajac jeszcze raz wchodze do stropny administracyjnej bez problemu.Robie sklepik interentowy i niechciałbym żeby kazdy mial dostep do strony administracyjnej.Jesli możecie proszę zrobcie m iw kodzie tak żeby cały czas wyskakiwało mi to okienko autoryzacji :-) Ponizej podaje kod:

<?php
$authorized = FALSE; // Inicjalizacja zmiennej.

if ( (isset($_SERVER['PHP_AUTH_USER']) AND isset($_SERVER['PHP_AUTH_PW'])) ) {
if ( ($_SERVER['PHP_AUTH_USER'] == 'bartosz') AND ($_SERVER['PHP_AUTH_PW'] == 'mazda') ) {
$authorized = TRUE;
}
}

if (!$authorized) {
header('WWW-Authenticate: Basic realm="ADMINISTRACJA"');
header('HTTP/1.0 401 Unauthorized');
}

0

bo to przeglądarka pamięta te dane, jak chcesz żeby zapomniała to musisz się wylogować, nie widzę za bardzo możliwości żeby automatycznie wylogowywało, wylogowanie może wyglądać inaczej na każdej przeglądarce i nie pamiętam jak to się robi, a ogólnie polecam standardowe logowanie - większa "władza"

0

A o co właściwie chodzi? Jakie 'okienko autoryzacji'? Skąd ty wytrzasnąłeś taki pomysł i jak to ma wyglądać (przydałoby się napisać też czy gdzieś to jest zastosowane).

0

np na prv.pl było kiedyś, przy phpmyadmin i w milionach innych miejsc - wczoraj sie urodziłeś ?
zresztą wystarczyło przekopiować kod podany wyżej, aż się nie moge powstrzymać i powiem: boshe

aha: żeby wylogować wystarczy wysłać kod 401:
header('Status: 401 Unauthorized');

0

Adamo: Nie zawsze wystarczy. IE na przykład i tak zapamięta. Jedyną skuteczną metodą jest wyłączenie przeglądarki (choć to też teoretycznie można obejść, przeglądarce nic nie zabroni zapisać haseł). W przeglądarkach typu Fx czy SM na przykład istnieje opcja wyloguj (w SM Narzędzia->Zarządzanie hasłami->Wyloguj, na Fx jakoś podobnie), w Operze zdaje się coś podobnego też jest.
@voldenet: Jest to standardowa metoda autoryzacji oparta na autoryzacji na poziomie HTTP. A pomysł można wytrzasnąć na przykład z manuala PHP, gdzie jest to opisane.

0

w manualu pisze że działa w netscape i ie na pewno a w lynxie jedynie nie
ja nie wiem bo nie testowałem i ogólenie nigdy tego nie używam ale bardzo dobrze że coś takiego istnieje bo inaczej np nie możliwe by było zrobienie tego co mam w planach (nie ważne)

w każdym razie na pewno nikt ci bez hasła nie wejdzie

0

Adamo myślisz, że na takim etapie jak to teraz u mnie jest nikt pzregladajacych sklepik mi tam nie wejdzie, mimo że przeglądarka zapamiętuje nick i haslo?

0

przeglądarka zapamiętuje to co ty wpisujesz, więc jak ktoś nie zna hasła to nie wejdzie - co nie znaczy że nie może go poznać, hasło jest przesyłane w postaci jawnej w nagłówkach znając życie do miasta obok przez syberie, no ale nie wiem jak chcesz to zabezpieczyć jeszcze
wejdzie ci jeśli będzie miał dostęp do twojego komputera a przeglądarka nie zdąży zapomnieć hasła
no i w takiej formie jaką teraz masz (porównywanie jawne zamiast do hashu hasła) pozna też każda osoba mająca dostęp do zasobów serwera od wewnątrz

ale radzę ci jednak zrobienie logowania w tradycyjny sposób - możesz np dzięki JSowi wtedy do strony wysłać hash hasła a nie hasło, możesz ustawić wygaśnięcie sesji po 5 min, możesz żądać zalogowania przed każdym odświeżeniem nawet strony - możliwości rosną

0

Adamo - hasło nie jest przesyłane w postaci jawnej, chociaż w postaci prostej do odkodowania. HTTP_AUTH jest stosowane dość szeroko i na prawdę nie jest aż takie złe.
Depeche - zakładając, że ktoś nie podsłucha komunikacji klient-serwer ani nie siądzie do Twojego komputera, nim wyłaczysz przeglądarkę, nikt nie dostanie się do panelu administracyjnego. Inną całkowicie kwestią jest zabezpieczenie odpowiednie na serwerze - chociażby, tak jak wspomniał Adamo - porównywanie po hashu hasła.
Odnośnie bezpieczeństwa - jeśli chce się mieć bezpieczne połączenie, to ustawia się szyfrowanie SSL i wtedy nawet logowanie "czystym tekstem" nie ma szans być podsłuchane.

0

Po waszych odpowiedziach stwierdzilem ze zostawie ta autoryzacje.Dzieki :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0