Whitelist Filter mit PHP filter_var

PHP’s filter_var bietet einige vordefinierte Filter zur Inputvalidierung.
Gute Praxis und sicher ist auch die Prüfung der Eingaben gegen eine Whitelist – also eine Liste aller erlaubter Werte. Dies ist standardmäßig mit den PHP Filtern nicht möglich. Allerdings kann man über den REGEXP Filter einen Whitelist Filter erstellen.
Im Folgenden Beispiel sind str und str2 zwei Variablen bei denen überprüft werden soll, ob deren Wert in der Liste aus dem Array src_arr vorkommt:

function filter_var_whitelist($var, $arr_allowed){
	if (is_array($arr_allowed)) {
		return filter_var($var, FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=>"/^(".implode('|', $arr_allowed).")$/")));
	}
}

$src_arr = array('hallo', 'Du', 'bist', 'toll');

$str = "hallo";    
$result = filter_var_whitelist($str, $src_arr);
echo $str.' gesucht:  ';
var_dump($result);
echo '
'; $str2 = "Britzelbrimpf1"; $result = filter_var_whitelist($str2, $src_arr); echo $str2.' gesucht: '; var_dump($result);


Als erster einen Kommentar schreiben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.