13.02.2013, 23:01
Was er mein ist soetwas, damits weniger Code ist:
PHP-Code:
<?php
//Neuer globale Arrays erstellen, die ungesicherte Daten enthalten
$_UNSAFE_POST = array();
$_UNSAFE_GET = array();
$_UNSAFE_COOKIE = array();
//Gefahren in dem globalen Array Post entschärfen
foreach ($_POST as $var => $value) {
$_UNSAFE_POST[$var] = $value;
if (!is_array($value)) {
$value = trim ($value);
} else {
$value = '';
}
$value = htmlspecialchars ($value, ENT_QUOTES, 'UTF-8');
$value = strip_tags ($value);
$value = stripslashes ($value);
$value = mysql_real_escape_string ($value);
$_POST[$var] = $value;
}
//Gefahren in dem globalen Array Get entschärfen
foreach ($_GET as $var => $value) {
$_UNSAFE_GET[$var] = $value;
if (!is_array($value)) {
$value = trim ($value);
} else {
$value = '';
}
$value = htmlspecialchars ($value, ENT_QUOTES, 'UTF-8');
$value = strip_tags ($value);
$value = stripslashes ($value);
$value = mysql_real_escape_string ($value);
$_GET[$var] = $value;
}
//Gefahren in dem gloablen Array Cookie entschärfen
foreach ($_COOKIE as $var => $value) {
$_UNSAFE_COOKIE[$var] = $value;
if (!is_array($value)) {
$value = trim ($value);
} else {
$value = '';
}
$value = htmlspecialchars ($value, ENT_QUOTES, 'UTF-8');
$value = strip_tags ($value);
$value = stripslashes ($value);
$value = mysql_real_escape_string ($value);
$_COOKIE[$var] = $value;
}
?>
$_UNSAFE_POST verwendet man ganz normal für Vergleiche, Darstellung
$POST verwendet man in verbindug mit Datenbank
Haste Error Reporting eingeschalten?
Mach mal alle 5 Zeilen ein die("Test"); und nehme dann beginnend von vorne alles nacheinander weg, um heraus zu finden wo der 500 zustande kommt.
//Edit:
Sehe gerade im Link zuvor das EscapeString depricated ist. Es steht aber auch dabei welche Methode stattdessen zu verwenden ist.