tutorials.de Buch-Aktion 05/2012
Seite 3 von 3 ErsteErste 123
ERLEDIGT
NEIN
ANTWORTEN
40
ZUGRIFFE
681
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #31
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von tobee Beitrag anzeigen
    Ich persönlich löse solche Abfragen mit einem Array
    PHP-Code:
    function sanitize($s){
    // @todo überprüfe den wert
    return $s;
    }

    if(!
    in_array(sanitize($_GET['action']), array('new''change''delete''deletepicture')) {
       echo ....;
      exit;

    Da er ja nicht nur $_GET['action'] sondern auch $_POST['action'] prüfen will, eher so:
    Code PHP:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    function sanitize( $s )
    {
        // @todo überprüfe den wert
        return $s;
    }
     
    if( !in_array( sanitize( $_POST['action'] ), array( 'new', 'change' ) ) ||
        !in_array( sanitize( $_GET['action']  ), array( 'delete', 'deletepicture') ) )
    {
        echo '...';
        exit;
    }
    (wobei das OR ja noch nicht abschließend geklärt wurde)

    Gruß
     

  2. #32
    Avatar von tobee
    tobee tobee ist offline Grolba.com media
    Registriert seit
    Jul 2005
    Ort
    Karlsruhe
    Beiträge
    1.700
    Blog-Einträge
    131
    Wie ist eure Meinung zu $_REQUEST. Gibt es Nachteile wenn man das verwendet?
    PHP-Code:
    function sanitize($s){
    // @todo überprüfe den wert
    return $s;
    }

    if(!
    in_array(sanitize($_REQUEST['action']), array('new''change''delete''deletepicture')) {
       echo ....;
      exit;

     

  3. #33
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    In $_REQUEST sind auch die Daten von $_COOKIE und (wenn ich mich nicht täusche) von $_SESSION – das könnte ein Problem sein. Ansonsten würde doch das gehen:
    Code PHP:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    function sanitize($s){
    // @todo überprüfe den wert
    return $s;
    }
     
    $data = array_merge($_POST, $_GET);
     
    if(!in_array(sanitize($data['action']), array('new', 'change', 'delete', 'deletepicture')) {
       echo ....;
      exit;
    }
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  4. #34
    Avatar von rd4eva
    rd4eva rd4eva ist offline Mitglied Brillant
    Registriert seit
    Feb 2003
    Beiträge
    756
    und (wenn ich mich nicht täusche) von $_SESSION
    Da täuschst du dich.

    Das Problem mit $_REQUEST ist
    1. Du weißt nicht genau woher die Variable nun eigentlich kommt GET/POST/Cookie.
    2. Sollte Cookie eine Variable enthalten die auch in GET oder POST vorkommt dann wird ersteres letztere überschreiben.
    3. Aus Punkt 2 ergibt sich dann logischerweise die Gefahr von xss/csrf
    einfach nur crack bedankt sich. 
    In order to understand recursion, one must first understand recursion.

  5. #35
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von einfach nur crack Beitrag anzeigen
    In $_REQUEST sind auch die Daten von $_COOKIE und (wenn ich mich nicht täusche) von $_SESSION – das könnte ein Problem sein. Ansonsten würde doch das gehen:
    Code PHP:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    function sanitize($s){
    // @todo überprüfe den wert
    return $s;
    }
     
    $data = array_merge($_POST, $_GET);
     
    if(!in_array(sanitize($data['action']), array('new', 'change', 'delete', 'deletepicture')) {
       echo ....;
      exit;
    }
    Bleibt die Frage ob $_POST['action'] und $_GET['action'] zur selben Zeit gesetzt sein können.

    Aber nur um action zu prüfen ein array_merge zu machen, halte ich für Speicherverschwendung.

    Gruß
     

  6. #36
    Avatar von rd4eva
    rd4eva rd4eva ist offline Mitglied Brillant
    Registriert seit
    Feb 2003
    Beiträge
    756
    Bleibt die Frage ob $_POST['action'] und $_GET['action'] zur selben Zeit gesetzt sein können.
    Nein können nicht.
    Das ist das gleiche wie ich oben unter Punkt 2 geschrieben habe.

    Die Reihenfolge der Abarbeitung wird bestimmt über variables_order

    Bei Mehrfachem vorkommen von Variablen überschreiben letztere logischerweise die vorangegangenen.
    Die Standardreihenfole Get, Post, Cookie.
     
    In order to understand recursion, one must first understand recursion.

  7. #37
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von rd4eva Beitrag anzeigen
    Nein können nicht.
    Das ist das gleiche wie ich oben unter Punkt 2 geschrieben habe.

    Die Reihenfolge der Abarbeitung wird bestimmt über variables_order

    Bei Mehrfachem vorkommen von Variablen überschreiben letztere logischerweise die vorangegangenen.
    Die Standardreihenfole Get, Post, Cookie.
    Du hast meinen Satz nicht ganz verstanden.

    Die Frage ist:
    Kann in dem System von dwex (Threadstarter) $_POST['action'] und $_GET['action'] zur selben Zeit gesetzt sein. Kommt es also vor, dass er zu einem bestimmten Zeitpunkt beide verarbeiten will?

    Gruß
     

  8. #38
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    Ohne darauf einzugehen was abgefragt werden soll
    Setze zusätzliche Klammern man kann nie sagen was denn den Vorzug hat das XOR oder das Ungleich

    um die reihenfolge der Verarbeitung sicherzustellen Klammern!

    (a xor b) != (c xor d)
    ist was andres wie
    a xor ( b != c ) xor d
    Geändert von melmager (08.02.12 um 14:12 Uhr)
     

  9. #39
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    @melmager: Doch, man weiß, dass der Vergleichsoperator eine höhere Priorität hat als der XOR-Operator: http://www.php.net/manual/de/languag...precedence.php
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  10. #40
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    Und ich wette um eine Flasche Pommes das zuerst das XOR gemacht werden soll in der IF Abfrage

    ich habe mir angewöhnt alles in Klammern zu setzen - hilft auch beim Lesen vom Code nach länger Zeit
     

  11. #41
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    @melmager: Dagegen sage ich auch nichts, denn so programmiere ich ebenfalls. Ich wollte nur darauf eingehen, dass man ganz genau weiß, was den Vorzug hat.
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

Ähnliche Themen

  1. Seltsames Div verhalten
    Von nchristoph im Forum CSS
    Antworten: 5
    Letzter Beitrag: 11.11.10, 11:04
  2. Merkwürdiges Verhalten
    Von mkoeni1 im Forum Hosting & Webserver
    Antworten: 1
    Letzter Beitrag: 29.08.07, 10:23
  3. Anfängerfrage => Verhalten?
    Von Nico im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 11.08.05, 12:26
  4. Div verhalten IE und Mozilla
    Von js-mueller im Forum HTML & XHTML
    Antworten: 1
    Letzter Beitrag: 16.08.04, 22:33
  5. Merkwürdiges Verhalten von <img> und <?php
    Von FBI im Forum Coders Talk
    Antworten: 2
    Letzter Beitrag: 08.07.04, 12:32