Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zur Sicherheit von GET Variablen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zur Sicherheit von GET Variablen

    hallo @all,

    ich beschäftige mich gerade etwas mit der sicherheit von get / post variablen. nun hab ich folgendes test-script:

    PHP-Code:

    <?php

    print '[url="'.$_SERVER['PHP_SELF'].'?send=huhu"]test link[/url]
    '
    ;

    if(isset(
    $_REQUEST['send']))
    {
        
    $send trim($_REQUEST['send']);
        
        if(!
    preg_match("#^[a-z]+$#"$send))
        {
            print 
    'böse var';
        }
        else
        {
            switch (
    $send
            {
                case 
    'huhu':
                            print 
    'seite huhu wird geladen';
                            break;
                case 
    'bla':
                            print 
    'seite bla wird geladen';
                            break;
                case 
    'test':
                            print 
    'seite test wird geladen';
                            break;
                default:
                            print 
    'zur index.php';
                            break;
            }
        }
    }

    ?>
    nun meine frage, reicht eine prüfung in dieser art oder habt ihr vielleicht ein tip um get / post variablen sicher zu machen.

    viele grüsse
    malaga

  • #2
    Ich würde erstmal nicht mit $_REQUEST arbeiten. Denn Request enthält sowohl GET als auch POST Variablen - so kannst du z.B. u.u. schlechter (!) prüfen, von wo die Daten denn nun stammen. (Was von vielen ja nicht gemacht wird).

    Ich hoffe dir ist bewusst, was Trim macht
    Um Daten zur Weiterverabeitung beispielsweise für Datenbanken zu verwenden benutzt man dieses:
    http://de.php.net/mysql_real_escape_string

    Kommentar


    • #3
      Zitat von Chr!s
      Denn Request enthält sowohl GET als auch POST Variablen
      Da ist noch mehr drin

      Zitat von Chr!s
      Ich hoffe dir ist bewusst, was Trim macht
      Warum sollte es nicht?

      Zitat von Chr!s
      Um Daten zur Weiterverabeitung beispielsweise für Datenbanken zu verwenden benutzt man dieses:
      http://de.php.net/mysql_real_escape_string
      Oder man liest alternativ mal diesen Thread hier:
      SQL-Injection verhindern

      Wenn es nur darum geht je nach $_GET-Parameter eine Seite per include und Co. einzubinden, dann schau dir mal das hier an:
      http://www.phpfriend.de/forum/ftopic21590-25.html

      Grüße Ben.
      [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

      Kommentar


      • #4
        hi,

        danke dir.

        Mit trim() kann man innerhalb eines Strings ($send) überflüssige Zeichen am Anfang und Ende entfernen lassen, z.b. Leerzeichen oder?

        wie würdest du prüfen von wo die daten kommen?

        Kommentar

        Lädt...
        X