Robert Bienert: Ist dieser Code ..Register-Globals-OFF-Kompatibel..?

Beitrag lesen

Moin!

Hallo ich stelle gerade einiges in meinem alten script um, das sich noch auf Globals = On verlassen hat.

Sehr gute Idee!

Sind folgende Code-Elemente Register-Globals-OFF-Kompatibel?

//saugt die Variablen aus dem Array heraus

if (isset($HTTP_GET_VARS))
extract($HTTP_GET_VARS);

  
Dazu hat [wahsaga](https://forum.selfhtml.org/?t=124680&m=803569) schon ein paar schlaue Worte gesagt, nimm lieber  
  
~~~php
$style = $_GET['style'];  
$category = $_GET['cat'];

Der Vorteil ist auch, dass du eher auf die Idee kommst, solche Variablen zu prüfen; wenn $category z.B. auf eine Datei verweist:

$category = basename($_GET['cat']);

//form mit einem input hidden, um eine $action=deldb  und $id zu übergeben

<form action="<? printf("%s",$_SERVER['PHP_SELF']) ?>" method="post" name="del">

  
Anstelle von [printf](http://de.php.net/manual/de/function.printf.php) bietet sich hier wohl eher [echo](http://de.php.net/manual/de/function.echo.php) an.  
  

> `   <input name="id" type="hidden" value="<? $db->p("nid"); ?>">`{:.language-php}  
  
Ist es sinnvoll zu wissen, wo `$db`{:.language-php} herkommt (aus `$_GET`{:.language-php} stammt es wohl nicht)?  
  

> ~~~php

   <input name="action" type="hidden" value="deldb">  

>    <input name="" type="submit" value=" ja " class="button">  
>   </form>  
>   
> //Variable wird aus einer Session geholt  
> $mykid = $_SESSION['kidkat'];

Geh genau so ^^^ auch mit deinen GET-Variablen um. Das Problem mit register_globals kann sehr subtil sein, schau dir dazu z.B. die PHP-Dokumentation zur Verwendung von Register Globals an.

Ich bin dankbar für jede Anregung und Hilfe. Ich will einen sauberen Code hinbekommen.

Ich kann nur noch einmal betonen: Sehr löblich, viele (die meisten?) PHP-„Progger“ kümmern sich leider praktisch gar nicht um Sicherheit, da ist jede Ausnahme nur zu begrüßen und unterstützen.

Viele Grüße,
Robert