Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Logowanie do palenu admina
Elber
post
Post #1





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Witam, mam problem, otóż mam sobie malutki prościutki panel admina w którym kilka rzeczy zmieniam i w zależności co jest w $_GET taki plik ładuje się do div'a oparte jest to na switchu i teraz chcę do niego zrobić logowanie oparte na sesji. Czy jak w moim index.php dam
  1.  
  2. //logowanie
  3. if ($_POST['login'] = 'login' and $_POST['haslo'] = 'haslo')
  4. { $_SESSION['zalogowany'] = true;}
  5. else { $_SESSION['zalogowany'] = false;}
  6.  
  7.  
  8. //sprawdzenie, czy zalogowany
  9. if(isset($_SESSION['zalogowany']) and $_SESSION['zalogowany']){
  10. //tutaj ładowanie pliku w zależności od $_GET
  11. }else{
  12. echo 'nie jesteś zalogowany';
  13. }


Czy wszystko będzie ok? Czy muszę jeszcze coś do każdego ładowanego pliku dodać odnośnie sesji ?

Ten post edytował Elber 27.12.2010, 13:15:12
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 19)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A więc na szybko:
1. Sprawdzenie istnienia zalogowania musi być na każdej stronie administracyjnej
2. if ($_POST['login'] == 'login' and $_POST['haslo'] == 'haslo')
Go to the top of the page
+Quote Post
Elber
post
Post #3





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


A da się takie logowanie rozwiązać w inny sposób ?
Go to the top of the page
+Quote Post
stefik4
post
Post #4





Grupa: Zarejestrowani
Postów: 176
Pomógł: 1
Dołączył: 18.11.2007

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


Jeśli masz jeden plik stały index, w którym w środkowej cześć includujesz jakieś podstrony to nie. Wystarczy że masz to w pliku index.php bo przecież to o będzie wciąż wyświetlany.
Go to the top of the page
+Quote Post
Elber
post
Post #5





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Czyli jak to index.php jest wciąż wyświetlany a inne pliki są do niego includowane to nie muszę w każdym includowanym sprawdzać istnienia zalogowania? A da się jakoś zrobić tak np. w .htaccess że jak ktoś będzie chciał wywołać inny plik niż index.php w katalodu admin to go przeniesie na index.php??
Go to the top of the page
+Quote Post
Rid
post
Post #6





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Cytat(Elber @ 27.12.2010, 13:28:47 ) *
A da się takie logowanie rozwiązać w inny sposób ?

Da rady:Poczytaj o uwierzytelnieniu HTTP
Go to the top of the page
+Quote Post
Elber
post
Post #7





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


właśnie nie chcę zrobić logowania przez .htaccess bo login i hasło są w bazie danych (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Rid
post
Post #8





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Cytat
właśnie nie chcę zrobić logowania przez .htaccess bo login i hasło są w bazie danych

To niczemu nie przeszkadza-zawsze można wyciągnąć dane z bazy przed skryptem autoryzacji.
Go to the top of the page
+Quote Post
Elber
post
Post #9





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


W jaki sposób? (IMG:style_emoticons/default/smile.gif) Bo logowanie .htaccess jest chyba najbezpieczniejsze ?
Go to the top of the page
+Quote Post
Kużdo
post
Post #10





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

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


W index.php:
  1. define("IN_CMS", TRUE);


a w każdym includowanym pliku, na samym początku:
  1. if (!defined("IN_CMS")) { die("Access Denied"); }
Go to the top of the page
+Quote Post
ShadowD
post
Post #11





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Wszytko co administrator widzi czyli pliki includowane do inndex zawsze trzymaj poza katalogiem głównym serwera, a w indexie includuj je jelśli dane się zgadają - nie kombinuj to najlepsza metoda.
Go to the top of the page
+Quote Post
Elber
post
Post #12





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Dzięki wielkie @Kużdo (IMG:style_emoticons/default/winksmiley.jpg) Działa (IMG:style_emoticons/default/smile.gif)

Mam jeszcze pytanko bo na localhoście
  1. header('Location: index.php');
działa mi normalnie a na serwerze mam błąd ...


Cytat
Warning: Cannot modify header information - headers already sent by (output started at index.php:25) in index.php on line 70


Co jest nie tak ?
Go to the top of the page
+Quote Post
webdice
post
Post #13


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Przynajmniej raz na tydzień ktoś pyta o ten błąd. Poszukaj.
Go to the top of the page
+Quote Post
stefik4
post
Post #14





Grupa: Zarejestrowani
Postów: 176
Pomógł: 1
Dołączył: 18.11.2007

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



wklej na początku kodu.
i na koncu


Ten post edytował stefik4 27.12.2010, 14:56:34
Go to the top of the page
+Quote Post
Elber
post
Post #15





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


No właśnie szukałem ... ale widocznie źle (IMG:style_emoticons/default/winksmiley.jpg)

Edit. Działa (IMG:style_emoticons/default/smile.gif) Ale nie wiem dlaczego (IMG:style_emoticons/default/biggrin.gif) Co ma ob_start() do header('Location: index.php'); (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował Elber 27.12.2010, 14:57:51
Go to the top of the page
+Quote Post
daros17
post
Post #16





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

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


wystarczy wkleić błąd do google i trochę poszukać (IMG:style_emoticons/default/winksmiley.jpg)
Cannot_add_header_information_-_headers_already_sent
Go to the top of the page
+Quote Post
webdice
post
Post #17


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Cytat(stefik4 @ 27.12.2010, 14:54:51 ) *

wklej na początku kodu.
i na koncu


To nie jest rozwiązanie problemu, to jest jego ominięcie.
Go to the top of the page
+Quote Post
Elber
post
Post #18





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Ok (IMG:style_emoticons/default/winksmiley.jpg) Dzięki (IMG:style_emoticons/default/haha.gif) zapomniałem o tym kompletnie (IMG:style_emoticons/default/winksmiley.jpg) Ale nie wiedziałem że tak prosto to można rozwiązać (IMG:style_emoticons/default/smile.gif) Dzięki wszystkim za pomoc (IMG:style_emoticons/default/smile.gif)

EDIT:
@webdice to jak można ten problem rozwiązać ?


Ten post edytował Elber 27.12.2010, 15:07:28
Go to the top of the page
+Quote Post
thek
post
Post #19





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Buforuje wyjście. Przed header nie masz prawa wysłać nic do przeglądarki. Ty to robiłeś. Ob przechowuje wyjście w buforze. Jeśli wyskoczy header to obsłuży go, jeśli nie to wywali wszystko co masz w buforze gdy zrobisz flusha (IMG:style_emoticons/default/winksmiley.jpg)

A problem rozwiązujesz poprzez takie przepisanie aplikacji, że najpierw wykonują się wszystkie operacje logiczne, a dopiero potem masz wyświetlenie szablonu.
Go to the top of the page
+Quote Post
Elber
post
Post #20





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Cytat(thek @ 27.12.2010, 15:10:41 ) *
A problem rozwiązujesz poprzez takie przepisanie aplikacji, że najpierw wykonują się wszystkie operacje logiczne, a dopiero potem masz wyświetlenie szablonu.


Tak też zrobiłem (IMG:style_emoticons/default/winksmiley.jpg) Dzięki wielkie za pomoc (IMG:style_emoticons/default/smile.gif) Wszystko ładnie działa (IMG:style_emoticons/default/smile.gif)
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: 15.09.2025 - 18:40