Kleine Sektflaschen Hochzeit
833
Selbst wenn versteckte Befehle drin stehen, musst ja nicht alles verarbeiten. Deine Anwendung benutzt $_POST["user"] und $_POST["pass"]
warum sollte dich ein (wie auch immer) eingeschleustes $_POST["format C:"] interessieren? Kannst z. B mit
print_r($_POST) auch gerne mal nachsehen ob da was nicht gewolltes drinsteht...
__________________
gruss Chris Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut. Php alle post variablen ausgeben. " 12-09-2005, 23:23
westberlin
Member
Registriert seit: Dec 2002
Ort: bln / fhain
Beiträge: 336
Ich pr üfe meisten so:
3 Beispiele mit errorhandling...
[pseudo]
PHP-Code:
$checked_plz = isset( $_POST [ 'plz'])? $_POST [ 'plz']+ 0: 0;
if ( $checked_plz == 0 || strlen ( $_POST [ 'plz'])! = 5){
$error [] = 1;}
$mobil = 0;
if ( $_POST [ 'mobil'] == 1){
$mobil = 1;}
if(! preg_match ( '/^[a-zA-ZäöüÄÖÜ\/ -]{3, 30}$/', $_POST [ 'name'])){
$error [] = 4;}
if( count ( $error) > 0){
$code = implode ( '-', $error);
if( in_array ( 1, $error))
echo "*plz nicht korrekt!
";
// evtl.
In Funktionen müssen die Variablen zunächst per "global $var;" als globale Variablen "markiert" werden. // Ersatz fuer extract() function myExtract($arr) { // diese Schleife koennte auch durch array_merge ersetzt werden, // die Schleife passt aber besser zu den naechsten beiden Beispielen foreach ($arr as $key=>$val) { $GLOBALS[$key] = $val;}} // Ausgabe von $do im Geltungsbereich einer Funktion function dumpGlobalDo() { global $do; var_dump($do);} $_GET = array('page' => 'users', 'do' => 'profile'); myExtract($_GET); var_dump($page); dumpGlobalDo();? Lektion 50: $_POST - Formular mit Checkbox und Radio - Button auswerten. > HTML-Code: Ausgabe string(5) "users" string(7) "profile" Das zuvor angesprochene Problem der Sicherheit (bereits definierte Variablen werden potenziell überschrieben) ist hier noch vorhanden. Wir wandeln die Funktion myExtract() daher nun leicht ab, sodass sie ein zusätzliches Array $limitTo erwartet. Dieses Array soll die Namen aller Schlüssel enthalten, die extrahiert werden sollen. Alle Schlüssel, die nicht in $limitTo aber dafür in $arr vorhanden sind, werden ignoriert.
Bei einer POST-Request kann man die Übertragung nicht direkt im Browser sehen, nur wenn man in die Entwicklerkonsole unter den Netzwerk-Tools sich die Übertragung anschaut. Schau dir einmal den nachfolgenden Screenshot an. Netzwerk Tools Chrome Nachdem ihr das nun wisst, kann man festhalten, GET und POST haben beide Vor- und Nachteile, die Vorteile des einen sind oft Nachteile des anderen. Die GET-Parameter sind in der Länge beschränkt, da ein Browser in der Regel nicht mehr als 2000 Zeichen in der URL verarbeiten kann. Bei POST ist die Datenmenge nur durch die Einstellungen des Servers beschränkt. Der GET-Parameter steht in der URL. Das ist unsicher, da Fremde im Verlauf des Browsers die URL lesen könnten und so Rückschlüsse auf deine persönlichen Daten ziehen könnten. Also sollten niemals sensible Daten über GET übetragen werden. POST in PHP - PHP $_POST für Formulare verwenden. Dafür immer POST verwenden. Ein Vorteil von GET ist, dass du den Link an Freunde senden kannst und sie somit dieselben Formular-Ergebnisse aufrufen können, was zum Beispiel bei Suchmaschinen durchaus Sinn machen kann.
"
"; 37 |} 38 |} 39 | 40 |} 41 |} 42 |? > 43 |
44 |