P
P_F
Hey,
diese Funktion soll eigentlich einen String validieren:
bei safe_string('test'); gibt sie true zurück, gut.
bei safe_string('te<st'); gibt sie false zurück, gut.
bei safe_string('te/st'); gibt sie aber auch true zurück, das ist schlecht, woran liegts?
diese Funktion soll eigentlich einen String validieren:
PHP:
/*
* Erlaubt folgende Zeichen nicht:
* < > " ' % ; ( ) & + - / \
*/
function safe_string($str, $minLengh=3, $maxLengh=15) {
$str = trim($str); /** Leerzeichen entfernen **/
if ($minLengh < 1)
$minLengh = 1;
if ($maxLengh <= $minLengh)
$maxLengh = $minLengh+1;
if (preg_match('[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\\|\/|\-]',$str) || strlen($str) < $minLengh || strlen($str) > $maxLengh) {
return false;
} else {
return true;
}
}
bei safe_string('test'); gibt sie true zurück, gut.
bei safe_string('te<st'); gibt sie false zurück, gut.
bei safe_string('te/st'); gibt sie aber auch true zurück, das ist schlecht, woran liegts?