![]() |
![]() ![]() |
![]() |
-MatMc- |
![]()
Post
#1
|
Goście ![]() |
Witajcie,
chciałbym, aby jedna z podstron była zabezpieczona hasłem. - mam wrażenie, że jestem już blisko, a jednak - polecenie nie działa. Po zatwierdzeniu hasła (także błędnego) - w przeglądarce - zamiast pliku index.php, otwiera się login.php. formularz: Kod <html> <body> <form name="form" action="login.php" method="post"> <input type="password" name="haslo"><br /> <input type="submit" value="ok"> </form> </body> </html> oraz login.php: Kod <?PHP if (isset($_POST['haslo'])) { $haslo = $_POST['haslo']; if ($haslo == 'haslo') { @header ('Location: index.php'); } else { echo 'Nie udalo sie zalogowac.'; } } ?> co jest nie tak? :-( |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 30 Dołączył: 19.02.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Na stronie: http://www.faqs.org/rfcs/rfc2616.html (rozdział14.30) jest informacja:
Location = "Location" ":" absoluteURI Ty podałeś "index.php", co nie jest absolutnym URI. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 39 Dołączył: 6.12.2010 Skąd: localhost Ostrzeżenie: (0%) ![]() ![]() |
Super znawcą PHP nie jestem, ale wydaje mi się, że można wpisać ręcznie www.adres-twojej-strony.pl/index.php i też wejdzie bez podania hasła, więc po co to ?
Jeśli się mylę to przepraszam ![]() -------------------- Wspieram akcję "jQuery i AJAX to nie język programowania"
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%) ![]() ![]() |
a ja jestem ciekawy do czego sluzy malpa @ przed headerem bo nigdy jej u siebie nie wstawialem.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
@ to operator tłumienia błędów
![]() A wracając do tematu; Taki zapis także jest poprawny: Błąd tkwi w innym miejscu. Pozwól, że zrobię to po swojemu, a Ty porównasz z swoim kodem: Plik index.php:
Tak to powinno wyglądać jak na moje oko... (pisałem z pamięci więc proszę mnie w razie czego poprawić ![]() Ten post edytował modern-web 5.03.2011, 16:37:53 -------------------- Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%) ![]() ![]() |
Przy headerze to nie wiem w jakim celu... Co do tego kodu z haslem to jest ok i dziala wiec nie wiem o co chodzi
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Też mnie to zastanawia ale widać ma jasny powód, którego my nie dostrzegamy ^^
-------------------- Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
|
|
|
-MatMc- |
![]()
Post
#8
|
Goście ![]() |
Dziękuję za Wasze odpowiedzi,
Na pewno można to zrobić inaczej/lepiej. Kompletnie raczkuję w temacie, a zależy mi na tym, aby ukryć niektóre dane. Teraz rzeczywiście działa - brakowało pełnego adresu (nigdy bym nie wpadł na to) Zastanawia mnie tylko jedno... Skoro w źródle ogólnodostępnego pliku jest użyta nazwa pliku w którym zapisane jest hasło... Czy to aby na pewno skuteczne zabezpieczenie? (wiem, że każde hasło można złamać, ale wolałbym, aby nie były to tak prymitywne metody jak podejrzenie kodu źródłowego, bo nawet ja to potrafię) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 32 Dołączył: 21.03.2006 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
Dziękuję za Wasze odpowiedzi, Na pewno można to zrobić inaczej/lepiej. Kompletnie raczkuję w temacie, a zależy mi na tym, aby ukryć niektóre dane. Teraz rzeczywiście działa - brakowało pełnego adresu (nigdy bym nie wpadł na to) Zastanawia mnie tylko jedno... Skoro w źródle ogólnodostępnego pliku jest użyta nazwa pliku w którym zapisane jest hasło... Czy to aby na pewno skuteczne zabezpieczenie? (wiem, że każde hasło można złamać, ale wolałbym, aby nie były to tak prymitywne metody jak podejrzenie kodu źródłowego, bo nawet ja to potrafię) Kodu php nie da się podejrzeć przez przeglądarkę, jeśli o to ci chodzi. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 30 Dołączył: 19.02.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%) ![]() ![]() |
A od czego to zalezy? Ja nigdy nie podaje pelnego adresu i dziala
-------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
RFC 2616 - HTTP/1.1 - Location...
Prawdopodobnie niektóre przeglądarki naprawiają takie niedokładności. |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Ja także. W header nigdy nie wpisywałem adresu absolutnego. Chyba, że przekierowanie odnosiło się do pliku, który nie znajdował się na serwerze lokalnym. No cóż... są różne szkoły `jazdy`
![]() Nie mam pojęcia od czego to zależy. -------------------- Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%) ![]() ![]() |
Przy pelnym adresie w headerze mozna tracic sesje wiec dla mnie to nie jest najlepszy pomysl - dawno temu raz tak zrobilem i zastanawialem sie godzinami czemu sesje trace
-------------------- |
|
|
-MatMc- |
![]()
Post
#16
|
Goście ![]() |
Valdi_B
- 5 III - już wszystko dobrze działało. ale z odpowiedzią na forum - czekałem, aż będę mógł wrzucić stronę na serwer, żeby się upewnić, czy wszystko na pewno jest dobrze dlatego odezwałem się dopiero dzisiaj. Cytat Kodu php nie da się podejrzeć przez przeglądarkę, jeśli o to ci chodzi. - tak, o to pytałem. Wszystko działa bez zarzutu. Bardzo Wam dziękuję! |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
Odkopuję, ale słusznie
![]() Manual PHP, header. Kod Note:
HTTP/1.1 requires an absolute URI as argument to » Location: including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative one yourself: |
|
|
-cwojtas1987- |
![]()
Post
#18
|
Goście ![]() |
@ to operator tłumienia błędów ![]() A wracając do tematu; Taki zapis także jest poprawny: Błąd tkwi w innym miejscu. Pozwól, że zrobię to po swojemu, a Ty porównasz z swoim kodem: Plik index.php:
Tak to powinno wyglądać jak na moje oko... (pisałem z pamięci więc proszę mnie w razie czego poprawić ![]() Zauważyłem, że w linijce ze znacznikiem: <meta http-equiv="refresh" content="3;url=http://twoja_strona.pl/strona_dla_zalogowanych.php">"; trzeba zmienić "" na ' ' wtedy będzie działać. Jeśli ktoś tak napisał to sorki! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 09:20 |