73
Bearbeitungen
(Die Seite wurde neu angelegt: „- http://www.html.de/tutorials/7464-php-register_globals-hat-es-damit-auf-sich.html - http://www.phpbar.de/w/Register_globals - http://php.net/manual/de/securi…“) |
|||
(17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
- http://www.html.de/tutorials/7464-php-register_globals-hat-es-damit-auf-sich.html | == Was ändert sich im Programmcode beim Umstieg von PHP Version 5.2 nach 5.4? == | ||
'alter' Code / 'neuer' Code: | |||
* betroffen $HTTP_XXXX_VARS | |||
<pre> | |||
alt: $HTTP_GET_VARS['img'] | |||
neu: $_GET['img'] | |||
alt: $HTTP_POST_VARS['password'] | |||
neu: $_POST['password'] | |||
</pre> | |||
* betroffen SERVER-Variablen und Environment | |||
<pre> | |||
alt: $DOCUMENT_ROOT | |||
neu: $_SERVER['DOCUMENT_ROOT'] | |||
alt: $PHP_SELF | |||
neu: $_SERVER['PHP_SELF'] | |||
alt: $HOME | |||
neu: $_ENV['HOME'] | |||
</pre> | |||
* betroffen Sessions | |||
<pre> | |||
alt: session_register('var') | |||
$var = Wert | |||
neu: $_SESSION['var'] = Wert | |||
</pre> | |||
* betroffen Umlaute mit der Funktion htmlspecialchars() und htmlentities(). Die neue PHP5.4er Version hat neue Standardencoding (vor PHP5.4 ISO-8859-1, seit PHP5.4 UTF-8) | |||
<pre> | |||
alt: htmlspecialchars($text) | |||
neu: htmlspecialchars($text,NULL, "") | |||
alt: htmlentities($text) | |||
neu: htmlentities($text,NULL, "") | |||
</pre> | |||
* betroffen Quote-Symbole (" und ') die skriptseitig über htmlspecialchars() in Formularfelder (input, textarea, etc.) geschrieben werden. Der Effekt ist der gleiche wie bei den Umlauten (s.o.) | |||
<pre> | |||
alt: htmlspecialchars($text) | |||
neu: htmlspecialchars($text,ENT_QUOTES,"") | |||
</pre> | |||
== Anwendungsbeispiele == | |||
alt: undefinierter index in array | |||
<pre> | |||
$do = $_GET['do']; | |||
if ($do == 'verify') | |||
[...] | |||
</pre> | |||
neu: abfragen ob array-element existiert, ggf. initialisieren/definieren der Variable ''do'' | |||
<pre> | |||
if (!empty($_GET['do'])) | |||
$do = $_GET['do']; | |||
else | |||
$do = ""; | |||
if ($do == 'verify') | |||
[...] | |||
</pre> | |||
== Debuggen == | |||
Sämtliche Fehler, Warnungen, Notizen und Hinweise auf ''deprecated'' (veraltete) Functions können mit Hilfe des Funktionsaufrufes | |||
<pre> | |||
error_reporting(E_ALL); | |||
</pre> | |||
am Anfang eines PHP-Programmes, hinter dem öffnenden PHP Start-Tag, angezeigt werden. | |||
== Usefull Links: == | |||
* http://www.html.de/tutorials/7464-php-register_globals-hat-es-damit-auf-sich.html | |||
* http://www.phpbar.de/w/Register_globals | |||
* http://php.net/manual/de/security.globals.php | |||
* http://www.goldmann.de/variablen-in-php-sauber-uebergeben-mit-register_globals%3Doff_tipp_138.html | |||
[[Kategorie:Internet-Dienste]] | [[Kategorie:Internet-Dienste]] |
Bearbeitungen