-
02.02.10 10:24 #1
- Registriert seit
- Dec 2007
- Ort
- Winterthur
- Beiträge
- 2.012
Mittels post oder get werden viele Information an das PHP-Script übergeben. Diese Variablen sollten aber nicht so weiter verwendet werden. AM besten man überträgt die Inhalte in einzelne Variablen. Man sollte auch nur die Inhalte übernehmen die man braucht und erwartet.
Jedesmal alles von Hand auszuprogrammieren kann relativ anstrengend werden
nun, mittels einfacher Array-Funktionen kann man sich diesen Schritt automatisierenPHP-Code:$a = $_POST['a'];
$c = $_POST['c'];
Code PHP:1 2 3 4 5
//Liste aller erlaubten postitems $allowedPost = array('c', 'b'); //Variablen zu allen erlaubten postitems erstellen extract(array_intersect_key($_POST, array_flip($allowedPost)));
Hier hab ich es mal zu einem Beispiel erweitert, das man gleich ausprobieren kann
Code PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<?php // Diese Zeile simuliert die Post-Übergabe eines Formulars $_POST = array('a'=>11, 'b'=>22, 'c'=>33); //Liste aller erlaubten postitems $allowedPost = array('c', 'b'); //Variablen zu allen erlaubten postitems erstellen extract(array_intersect_key($_POST, array_flip($allowedPost))); //Testausgabe um dieses Script zu testen echo "a: {$a}"; echo "b: {$b}"; echo "c: {$c}"; ?>
item: Tutorial: [PHP][MySQL] Debug Queries
item: Formatiert den Code (auch SQL-Statements) sauber - dann kann man ihn auch lesen (Tabulatoren!)
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformartierten Code zu lesen
item: Für Gastaccounts - erwarte nicht dass ich dir viel Code schreibe, denn ich rechne nicht damit dass du später hier anderen Usern helfen wirst
-
Wieso nicht?
Zitat von yaslaw
Dieses Vorgehen finde ich nur bedingt empfehlenswert. Wird weiter unten im Quellcode die Variable $a verwendet, ist die Herkunft ihres Inhalts nicht unmittelbar klar. Dadurch kann man leicht übersehen, dass es sich um eine Benutzereingabe handelt und auch als solche behandelt werden muss (Überprüfung auf gültige Syntax, unerlaubte Zeichen etc.).
Zitat von yaslaw
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Moin,
mal wieder ein guter Zeitpunkt, meinen Libling filter_input_array() zu promoten
Er ermöglicht dies alles auch, zusätzlich bietet er mannigfaltige Validierungs-und Reinungsmöglichkeiten, und hat obendrein noch einen nicht zu unterschätzenden Vorteil: er liesse sich von deinem simulierten $_POST nicht beeindrucken, weil er merkt, dass dieser Array nicht vom User kommt.
Eine sichere Trennung zwischen Skript-und GPCS-Variablen ist somit kein Problem, sofern man es sinnvoll anstellt.
Ähnliche Themen
-
Weiterleitung mit POST-Variablen
Von Typh00n im Forum PHPAntworten: 9Letzter Beitrag: 09.01.10, 11:05 -
Mehrere GET- oder POST-Variablen mit dem gleichen Namen übergeben
Von dwex im Forum PHPAntworten: 6Letzter Beitrag: 01.06.06, 09:29 -
$POST und Variablen
Von MatMagic im Forum PHPAntworten: 2Letzter Beitrag: 07.09.05, 12:48 -
Post - Variablen & Vergleich
Von schrenzor im Forum PHPAntworten: 2Letzter Beitrag: 21.07.05, 23:01 -
GET- bzw. POST-Variablen entfernbar?
Von galgenjoe im Forum PHPAntworten: 1Letzter Beitrag: 23.05.05, 16:13




Zitieren
Login





Lesezeichen