PHP kann auch Casting. Was das im Einzelnen bedeutet und wie man Casting in PHP einsetzt, wird hier erläutert.
Mit Casting die Sicherheit und Robustheit von PHP erhöhen
Wer Casting schon aus anderen Programmiersprachen kennt, kann diesen Absatz überspringen. Für alle denen das Casting unbekannt ist. Hier eine Beschreibung.
Wir nehmen an, dass das PHP-Script eine $_GET Variable mit dem Namen id übermittelt bekommt. Das Problem hier ist, dass Daten welche vom Browser übermittelt werden grundsätzlich als String vorliegen.
Die Sache mit den Strings wird spätestens dann gefährlich, wenn man den Wert der Variable für Datenbankabfragen benutzt. Hier kommen die hoffentlich bekannten SQL-Injections ins Spiel.
Durch einen Cast kann man aber der Varible einen neuen Datentyp zuweisen. So wird aus dem Typ String ein Integer. Dieser Cast (Umwandlung in eine Ganzzahlt) verhindert erfolgreich eine SQL-Injection.
Beispiel für Typecasting in PHP
Download Code!
//$id ist noch vom Typ String
$id = $_GET['id'];
echo get_type
($id).'</br>'; //Hier kommt nun der Cast, welcher den Variblentyp ändert
$id = (int)$id;
echo get_type
($id).'</br>';
Als Ausgabe bekommt man nun:
string
integer
Variablen lassen sich via Cast in folgende Typen umwandeln:
-
(int), (integer) - Cast nach Typ integer
-
(bool), (boolean) - Cast nach Typ boolean
-
(float), (double), (real) - Cast nach Typ float
-
(string) - Cast nach Typ string
-
(binary) - Cast nach Typ binary string (PHP 6)
-
(array) - Cast nach Typ array
-
(object) - Cast nach Typ object
-
(unset) - Cast nach Typ NULL (PHP 5)
Casting ist also eine nützliche Möglichkeit die Robustheit gegen Fehleingaben zu erhöhen und somit auch automatisch den Sicherheitslevel der Applikation zu verbessern.
Dies ist PHP-Tip Nummer 13 aus den 100 besten PHP Hacks, Tipps und Tricks
Wenn ihr schon immer wissen wolltet, wie ihr mehr aus eurem PHP-Code herausholen könnt, dann ist diese Artikelserie genau das Richtige für dich.
Aufgenommen: Okt 20, 03:44