Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przestarzały kod
Forum PHP.pl > Forum > Przedszkole
rybak66zuo
  1. <?php
  2. @extract($_GET);
  3. @extract($_POST);
  4. @extract($_SERVER);
  5. include("vars.php");
  6. include("dbconnect.php");
  7. include("funcs.php");
  8.  
  9. if (isset($refi)){ session_register("refi"); }
  10. $sd = session_id();


Witam, mam pewien problem. Powyższy fragment kodu jest nieaktualny. Czy mógłby ktoś przepisać go pod nowsze standardy?
Z góry dzięki.

Cytat
Deprecated: Function session_register() is deprecated in .../public_html/index.php on line 10
Sephirus
  1. @extract($_GET,EXTR_SKIP);
  2. @extract($_POST,EXTR_SKIP);
  3. @extract($_SERVER,EXTR_SKIP);
  4. include "vars.php" ;
  5. include "dbconnect.php";
  6. include "funcs.php";
  7.  
  8. if (isset($refi)){ $_SESSION['refi'] = $refi; }
  9. $sd = session_id();


Ogólnie ten kod jest tragiczny - wymuszenie register_globals przez extract i to bez żadnych zabezpieczeń to zły pomysł :/

Tak czy inaczej dodałem opcje by nie nadpisywało zmiennych podanych np. przez GET - przykładowo wywołując skrypt.php?REMOTE_ADDR=127.0.0.1 można by już było nieźle namieszać jeśli w kodzie jest użyawana zmienna $REMOTE_ADDR i coś bazuje na IP... choć przynajmniej kolejność jest dobra... sam nie wiem - tego w ogóle nie powinno się uzywać do tych celów smile.gif

Powinno się ten kod całkiem zmienić używać tablic $_GET, $_POST i $_SERVER bez ekstrakcji itd.
rybak66zuo
Dzięki wielkie. Jeśli o sam kod chodzi, nie ja go pisałem. Stworzono go kilka lat temu i stąd mój problem.
Jeszcze raz dziękuje.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.