Funktion zur sicheren Variable Übergabe
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angriff
anwenden
bauen
brauchbare funktion
code
empfehlen
erlaubte zeichen
fehler
filter
filtern
funktion
idee
optional anwenden
paar
rein packen
schalter
sonstige filter
suche
verarbeitung
versuch
-
Hallo
ich suche eine Funktion, um Variablen die per _GET oder _POST übergeben werden
vor der weiter-Verarbeitung zu filtern, um Fehler auszuschließen und Angriffe abzuwehren
ich stelle mir das so vor:
if (!empty($_REQUEST['variable'])) { $ok_variable = filter_request($_REQUEST['variable'], true, '0-9'); }
um dann mit $ok_variable weiter im Script zu arbeiten
als Funktion filter_request() etwa so:
function filter_request ($var, $tags=true, $erlaubt='A-Za-z0-9_-') { // ---- immer anwenden --- $var = trim(chop($var)); $var = stripslashes($var); $var = html_entity_decode($var); // ---- Optional anwenden --- if ($tags === false) { $var = strip_tags($var); } // ---- nur erlaubte Zeichen --- $var = preg_replace("/[^".$erlaubt."]/","",$word); return $var; }
Das ist nur ein erster Versuch, quasi nur die Idee ....
Welche Filter sollte ich in die Funktion rein packen ?
a) die immer angewendet werden
b) die optional angewendet werden (mit Schalter true / false)
c) sonstige Filter (wie z.B. erlaubte Zeichen, etc.)
Oder gibt es für sowas schon die eine oder andere frei Verfügbare
und brauchbare Funktion, die Ihr mir empfehlen könnt ?!?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo,
eventuell könntest du noch mysql_real_escape_string für SQL als Option einbauen.
Wobei das vielleicht doch erst beim SQL-Query bauen sinnvoller wäre.
Weiters solltest du das mit RegEx nur bei dringenden Fällen machen. Reg-Engine braucht extra Zeit/Leistung.
Hab noch ein paar Fehler bzw. Unnötigkeiten editiert.
function filter_request ($var, $tags=true, $erlaubt='A-Za-z0-9_-') { // ---- immer anwenden --- $var = trim($var); $var = stripslashes($var); $var = html_entity_decode($var); // ---- Optional anwenden --- if ($tags === false) { $var = strip_tags($var); } // ---- nur erlaubte Zeichen --- $var = preg_replace("/[^".$erlaubt."]/","",$var); return $var; }
Beitrag zuletzt geändert: 17.11.2011 13:16:43 von philippkern -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage