Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] problem ze zmienna $status, j.w.
if_error
post 30.06.2007, 12:45:10
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.06.2007

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


Witam - mam problem ze zmienną $status. Kończe robić własnego CMS'ka i chciałem aby dostęp do niego mieli: admin - status a, uzytkownik - status u, uzytkownik testowy - status t.

tabela:
  1. CREATE TABLE `administrator` (
  2. `id_administrator` int(5) NOT NULL AUTO_INCREMENT,
  3. `imie` mediumtext NOT NULL,
  4. `nazwisko` mediumtext NOT NULL,
  5. `user` varchar(15) NOT NULL,
  6. `password` varchar(32) NOT NULL,
  7. `email` varchar(30) NOT NULL,
  8. `status` varchar(10) NOT NULL,
  9. PRIMARY KEY (`id_administrator`)
  10. );


logując się w palu:
  1. <?php
  2. ...
  3. $_SESSION['LOGGED'] = "TRUE";
  4. $_SESSION['user']=$wiersz['user'];
  5. $_SESSION['imie']=$wiersz['imie'];
  6. $_SESSION['nazwisko']=$wiersz['nazwisko'];
  7. $_SESSION['status']=$wiersz['status'];
  8. ...
  9. ?>


i teraz po zalogowaniu chciałem zrobić aby: administrator miał dostęp rzecz jasna do wszystkiego, uzytkownik juz miał ograniczone prawa natomiast uzytkownik testowy aby mógł tylko przeglądać np. newsy itp. bez możliwości edycji czegokolwiek.

Na początku ustawiłem sobie sprawdzenie:
  1. <?php if ($status == 't' ) {
  2. echo'Nie masz uprawnień do przeglądania tej strony !';
  3. } else {
  4. ?>
  5.  
  6. ... właściwa strona
  7.  
  8. <?php } ?>


i problem polega na tym iż testując stronę na Krasnalu wszystko działa i uzytkownikowi testowemu zostaje ograniczony dostęp, natomiast po wraniu stronki na serwer - przepuszcza go i ma on dostęp do wszystkiego.

Coś powaliłem questionmark.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
JaRoPHP
post 30.06.2007, 12:49:46
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Cytat(if_error @ 30.06.2007, 11:45:10 ) *
i problem polega na tym iż testując stronę na Krasnalu wszystko działa i uzytkownikowi testowemu zostaje ograniczony dostęp, natomiast po wraniu stronki na serwer - przepuszcza go i ma on dostęp do wszystkiego...
Podejrzewam, że ustawienia Krasnala mają włączone register_globals, stąd ten problem.

Skąd masz zmienna $status? Spróbuj tak:
  1. <?php
  2. $status = $_SESSION['status'];
  3. if ($status == 't' ) {
  4.  echo'Nie masz uprawnień do przeglądania tej strony !';
  5. } else {
  6.  // ...
  7. }
  8. ?>


-- EDIT--
Nie musisz krzyczeć...
Ten bold jest całkowicie zbyteczny.

Ten post edytował JaRoPHP 30.06.2007, 12:50:27


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
Cysiaczek
post 30.06.2007, 12:50:18
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Dyrektywa register_globals w php.ini
Na Krasnalu masz zapewne wartośc On, więc wszytskie zmienne sesyjne oraz przesłane metoda GET i POST sa traktowane jako zmienne globalne. Na normalnych, produkcyjnych serwerach jest wartośc OFF, więc dostęp masz poprzez $_SESSION['status'].

Jeśli pisałeś większy kod używając globali... to sam jesteś sobie winny.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
if_error
post 30.06.2007, 12:59:52
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.06.2007

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


no i jedna linijka więcej i działa winksmiley.jpg jestem początkujący więc musze się jeszcze wieleeee nauczyc winksmiley.jpg

dzieki śliczne !
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: 19.07.2025 - 17:19