Jak włączyć register globals?

PHP - Tips & Tricks Zostaw komentarz

lottery numbers

W PHP3, aby odwołać się do zmiennej wysłanej przez formularz (niezależnie czy metodą GET, czy metodą POST) pisało się nazwę zmiennej np.

echo($pole);

Jest to bardzo wygodne, ale okazuje się, że użytkownik może oszukiwać aplikację. Czasami można poprzez doczepienie parametru do adresu URL ustawić wartość jakiejś zmiennej w kodzie PHP co może mieć katastrofalne skutki, jeśli programista pisze niechlujny kod. Dlatego też odchodzi się od domyślnie włączonej obsługi register globals. Wtedy należy się do zmiennych odwoływać poprzez specjalne tablice tj.

dla zmiennych wysyłanych metodą post:

echo($_POST['pole']);

dla zmiennych wysyłanych metodą get:

echo($_GET['pole']);

Często sam w kodzie sobie upraszczam pisząc w pierwszych linijkach kodu instrukcje przypisania tj.

$imie=$_POST['imie'] ;
$nazwisko=$_POST['nazwisko'];

Jednak czasami istnieje konieczność włączenia register globals (np. gdy korzystamy z jakiejś starej aplikacji, która ma setki linii kodu i dość czasochłonne by było poprawienie jej tak, aby spełniała najnowsze standardy). Wtedy można się pokusić o włączenie register globals (co wiążę się z zwiększonym ryzykiem ataku) poprzez dopisanie magicznej formułki do pliku .htaccess

php_flag register_globals on

Jednak osobiście nie zalecam włączać register globals, lepiej jest poprawić aplikację.

Tagi: , , , , , , , ,

Zanim dodasz komentarz, zapoznaj się z kilkoma podstawowymi zasadami:

  1. Jeśli zamiast imienia (lub pseudonimu) wpiszesz jakiś mało logiczny ciąg znaków np. asdfg, to taki komentarz zostanie usunięty.
  2. Jeśli się za kogoś podszywasz, to taki komentarz zostanie usunęty
  3. Jeśli zamiast imienia (pseudonimu) wpiszesz jakieś słowo kluczowe (np. tani hosting), to taki komentarz zostanie usunięty
  4. Jeśli Twoim jedynym celem jest zareklamowanie się, to taki komentarz zostanie niezwłocznie usunięty
  5. Komentarze nie związane z tematem notki są kasowane.
  6. Komentarze, które zawierają wulgarne słowa, bądź są obraźliwe (nie dotyczy konstruktywnej krytyki) są kasowane.
  7. Komentarze z mailem typu "nie.podam@coś.tam.pl" są kasowane
  8. Komentarze pisane niechlujnie (bez interpunkcji, w błędami ortograficznymi, z licznymi literówkami, pisane WIELKIMI LITERAMI) są kasowane

Jeden komentarz do “Jak włączyć register globals?”

  1. Jakub Kozak Says:

    Tak jak piszesz, jeżeli jest skrypt, który nie działa, i jeżeli mamy do wyboru analizować setki linii kodu, żeby go poprawić, albo po prostu włączyć register globals, to warto się nad tym zastanowić.

    Warto mieć jednak świadomość, że po włączeniu tej opcji program może stać się bardziej podatny na atak – tutaj samo podejmujemy ryzyko.

Zostaw komentarz

WordPress - Hosting: Twój hosting - Skórka: N.Design Studio - Spolszczenie: Adam Klimowski.
RSS wpisów RSS komentarzy Zaloguj się