PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variableninitialisierung



tweetymr
03.09.2010, 11:11
Guten Morgen liebe Leute :)

Ich beschäftige mich zur Zeit ein bisschen mit der Sicherheit meines VMS und weiß ja auch dass man seine Variablen eigentlich immer initialisieren sollte da man ja innerhalb des Scripts nie wirklich sicher sein kein was die Variable enthält und grade bei Webspace mit register_globals=on kann so eine Fahrlässigkeit fatale Folgen haben!

Aber, wie jeder Scripter, bin ich Schreibfaul und will nicht für jede Variable


if (!isset($variable1)) { $variable1 = ""; }
if (!isset($variable2)) { $variable2 = 0; }
usw

schreiben.

Daher habe ich mir eine kleine Funktion in die functions.lib.php gesetzt die mir die Schreibarbeit vereinfacht.



// Variable initialisieren
function chvar(&$variable, $standart) {
if (!isset($variable)) { $variable = $standart; }
}


Eine normale Init. sieht dann nicht mehr so aus:


if (!isset($name)) { $name = ""; }

Sondern einfach so:


chvar($name,"");


Hoffe ich konnte helfen und bin für Kritik offen :)

LG
TweetyMR

jpwfour
03.09.2010, 14:31
...register_globals=on ...

Grundsätzlich ganz guter Ansatz, nur "hilft" das bei register_globals?

Schließlich setzt du den Wert nur auf Standard, wenn isset() false liefert.

Ich würde dabei noch weitergehen und generell egal ob schon existent oder nicht den Standardwert setzen, schließlich sollte man sich im Script sicher sein, was man wo will :wink: