bodo92
Aktives Mitglied
Hallo,
Ich habe bisher meine $_POST elemente mit folgenden code Maskiert um einen XSS Angriff zu verhindern:
Möchte jetzt aber mit array_walk_recrusive () automatisch alle dimensionen durchlaufen.
Dazu habe ich folgenden Code:
Mir war von vornherein klar das das so nicht funktioniert, da jeder loop immer ein neues element direkt in $_POST anlegt.
Gibt es eine bessere Möglichkeit das array vollständig zu maskieren als im meinem ersten Beispiel?
Ich habe bisher meine $_POST elemente mit folgenden code Maskiert um einen XSS Angriff zu verhindern:
PHP:
if (!empty($_POST)) {
foreach ($_POST as $key => $value) {
if (!is_array($_POST[$key])) {
$_POST[$key] = htmlspecialchars($value);
} else {
foreach ($_POST[$key] as $subkey => $subvalue) {
$_POST[$key][$subkey] = htmlspecialchars($subvalue);
}
}
}
Möchte jetzt aber mit array_walk_recrusive () automatisch alle dimensionen durchlaufen.
Dazu habe ich folgenden Code:
PHP:
if (!empty($_POST)) {
function maskArray($key, $value) {
$_POST[$key] = htmlspecialchars($value);
}
array_walk_recursive($_POST, 'maskArray');
}
Mir war von vornherein klar das das so nicht funktioniert, da jeder loop immer ein neues element direkt in $_POST anlegt.
Gibt es eine bessere Möglichkeit das array vollständig zu maskieren als im meinem ersten Beispiel?