Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Notice: Undefined variable, Pewien problem.
-Gość_Gnomik-
post 28.02.2006, 09:28:18
Post #1





Goście







Witam!

Otóż mam pewien problem (przepraszam jeśli umieściłem go w złym dziale - dla Was będzie prosty więc chyba mimo wszystko chyba pasuje.)


Znalazłem na tym forum tematy tyczące się niezdefiniowanych zmiennych, ale ani jeden nie brał pod uwagę mojego problemu.

Otóż w beznadziejnie prostym kodzie (wybaczcie nazwę zmiennej ale to moje Default nazewnictwo jeśli sobie z czymś nie radzę):

index.php:
  1. <?php
  2. echo $dupa;
  3. ?>


Otrzymuję powiadomienie w drugiej lini "Unidenfined variable: dupa". Nie byłoby w tym praktycznie nic dziwnego jeśli "error_reporting = E_ALL" ale... Dlaczego dostaję to powiadomienie w przypadku wywolania "index.php?dupa=wielka" ? Nie działa mi kompletnie przekazywanie zmiennych przez parametr.

error_reporting = E_ALL ze względów kosmetycznych już sobie wyśrednikowałem, ale co z tego jeśli problem nie znika?

Nie jestem w stanie przekazać ani jednej zmiennej przez "index.php?..."


Środowisko: Apache/2.0.55 (Win32) i php/5.1.2


Z góry dziękuję za odpowiedź,
Pozdrawiam
Gnomik
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 28.02.2006, 09:30:00
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Najzwyklej w świecie masz wyłączone register_globals. I bardzo dobrze smile.gif To jest niebezpieczna metoda. Do zmiennych z url musisz sie odwolywac z $_GET, czyli:
  1. <?php
  2. echo $_GET['dupa'];
  3. ?>


ps: i uwierz. jest multum wątków o tym zagadnieniu winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-Gość_Gnomik-
post 28.02.2006, 09:38:01
Post #3





Goście







Mhm, rozumiem.

W takim razie pociągnę pytanie dalej: jakie niebezpieczeństwa ciągnie za sobą włączenie register_globals?

Nie chodzi mi o kwestie dogłębne, rozumiem że na względzie mamy oczywiście bezpieczeństwo. Pytam, ponieważ wszysytko jest dla mnie tylko na potrzeby własne - oczywiście nauki php. Jaka jest różnica użyciem:

echo $_GET('dupa');

a użyciem:

echo $dupa;


Przepraszam najmocniej że nie przeszukałem dogłębniej forum w poszukiwaniu odpowiedzi na moje poprzednie pytanie. Nie miałem w zamiarze zaśmiecania forum. smile.gif

Pozdrawiam,
Gnomik
Go to the top of the page
+Quote Post
nospor
post 28.02.2006, 09:42:14
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Na twoje kolejne pytanie tez juz padaly odpowiedzi winksmiley.jpg
W skrócie: bo tak smile.gif. żeby ci sie haker nie wczepil nie tam gdzie trzeba. Nie wiesz wowczas skąd dana zmienna pochodzi. Bo ty myslisz ze z sesji, a w rzeczywistości np. z url smile.gif I juz masz problem winksmiley.jpg
poczytaj se to bys uniknąl kolejnych takich postów:
http://forum.php.pl/index.php?showtopic=30056&st=0

a ten zamykam


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kszychu
post 28.02.2006, 09:43:17
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Ano niebezpieczeństwo jest takie, że chcesz użyć zmiennej sesyjnej i po włączeniu register_globals nie musisz odwoływać się do niej przez $_SESSION['dupa'] tylko zwyczajnie $dupa.
Ale jakaś bystrzejsza osoba odkrywa to i wywołuje Twój skrypt tak:
skrypt.php?dupa=wołowa
I wtedy twój skrypt, nieświadom niczego, nie pobiera zmiennej z sesji tylko z urla, i wtedy, mówiąc kolokwialnie, dupa!
A co do używania tego do własnych potrzeb: jeśli nabierzesz złych nawyków na małych skryptach to na pewno nie zmienisz ich podczas tworzenia dużych.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post

Closed 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: 14.08.2025 - 10:36