Ergebnis 1 bis 10 von 12

Thema: Notice: Undefined index: check in /var/www/web36/html/adminforce/index.php on line 5

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer
    Registriert seit
    20.11.2006
    Beiträge
    304
    Zitat Zitat von Sebmaster Beitrag anzeigen
    1. Warum $_REQUEST
    2. Warum addslashes()
    $_REQUEST deshalb, weil es $_POST und $_GET abdeckt.....und addslashes wohl zum Escapen gefährlicher Vars

    Generell sollte man restlos alles Escapen, was vom User/Admin/Netzwerken (abruf) im Script landet
    Marktorientierte Softwarelösungen
    http://wittesoft.de

    <?php eval (extract ($_REQUEST)); ?> epic web

  2. #2
    Zitat Zitat von breaker Beitrag anzeigen
    Generell sollte man restlos alles Escapen, was vom User/Admin/Netzwerken (abruf) im Script landet
    Um es dann später wieder zu ent-escapen wenn man damit arbeiten will?


  3. #3
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Zitat Zitat von breaker Beitrag anzeigen
    $_REQUEST deshalb, weil es $_POST und $_GET abdeckt.....
    $_COOKIE nicht vergessen!!

    Abgesehen davon absoluter Schwachsinn, nur $_REQUEST zu verarbeiten, wenn das Script später dann $_GET bspw. nutzt

    Je nach Server Konfig haben Laufzeit Änderungen an $_GET keine Auswirkungen auf $_request etc.

    Generell sollte man $_REQUEST überhaupt nicht verwenden, da es einfach zu unspezifisch ist.


    Wenn ich ein Formular via POST erwarte,warum sollte ich dann dieselben Daten auch als GET annehmen?


    Das mit dem escapen kommt auf den Einzelfall an, wie verarbeite ich die Variable weiter?
    Wie ist der Server eingestellt? (magic_quotes_.....)
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  4. #4
    Zitat Zitat von jpwfour Beitrag anzeigen
    Das mit dem escapen kommt auf den Einzelfall an, wie verarbeite ich die Variable weiter?
    Eben deswegen ist:
    Zitat Zitat von breaker Beitrag anzeigen
    Generell sollte man restlos alles Escapen, was vom User/Admin/Netzwerken (abruf) im Script landet
    Blödsinn


  5. #5
    Erfahrener Benutzer
    Registriert seit
    20.11.2006
    Beiträge
    304
    Jeder so, wie er es für richtig hält...mit meiner Methode ist noch nie jemand in mein Script eingebrochen oder konnte PHP/SQL-Injection betreiben.

    Wenn ich eine Var vor dem Einfügen in die DB mit addslashes entschärfe, brauche ich sie nach dem Auslesen aus der DB nicht mit stripslashes behandeln...sollte wohl klar sein. $_REQUEST deckt nicht die $_COOKIE-Klamotte ab, das wird wohl kaum in Uris übergeben

    Aber solange man mit register_globals = on und nicht definierten VARs arbeitet, sollte es eh egal sein, ob man escapt oder nicht, das ganze Script ist dann sowieso nur halbherzig geschrieben.

    zb. wenn "if ($_GET[protected_area])" nicht deklariert wurde, gibt es schon das 1. Sicherheitsloch und die 1. Notice-Meldung und den 1. Fehler im Script.
    global $protected_area; sollte man auch getrost vergessen (Leute, bald kommt PHP6 raus oO)

    Ich arbeite vielmehr mit 2 Klassen, die 1. holt mir die Konfiguration aus den Dateien und gibt sie per "$var = _getCFT('require_ver', '', true);" zurück und die 2. ersetzt das "global" oder Script-interne "include/require (once)" für Variablen komplett:

    $var = getINT('var', 0, true);
    $var = getVar('var', '', true);

    Die beiden Klassen haben auch den Vorteil, das ich nicht ständig irgendwelchen Variablen Escapen muss, weil es das automatisch macht

    // Edit:
    Unbekannte Variablen sollte man auch nicht nur darauf prüfen, ob sie gesetzt sind, sondern den Inhalkt auch Prüfen.

    if (isset($_GET['irgendwas'])) kann alles als Inhalt haben,- oder auch nichts.
    PHP bietet dafür tolle Funktionen an.
    Das gleiche beim Abschicken eines HTML-Formulars, wenn ich dort ein Input-Feld habe, wo eine Zahl eingegeben werden soll (und auch eine Eingegeben wird), landet sie im PHP als String (input type="text"), aber waren wir mal ab, was die neue HTML-Version mit sich bringt....ich wünsche mir ein "<input type="int>".

    Scheinbar hat sich darüber noch keiner Gedanken gemacht, wie er eine INT vom HTML auch im PHP als solches behandeln kann ohne es auf die Brutale Methode "intval($_POST['var'])" zu versuchen, denn das wäre eine nicht vorhandene Funktion "string2int",- wie gut, das PHP sehr Tolerant ist, denn im C++ würde euch ständig das Programm abschmieren
    Marktorientierte Softwarelösungen
    http://wittesoft.de

    <?php eval (extract ($_REQUEST)); ?> epic web

  6. #6
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Zitat Zitat von breaker Beitrag anzeigen
    ... $_REQUEST deckt nicht die $_COOKIE-Klamotte ab, das wird wohl kaum in Uris übergeben
    ...
    Irgendwie macht mir das Angst, wenn sich die Leute nicht vorher informieren:

    http://us3.php.net/manual/en/reserve...es.request.php

    Ein assoziatives Array, das standardmäßig den Inhalt von $_GET, $_POST und $_COOKIE enthält.
    Bei alten PHP Versionen ist sogar noch:

    4.3.0 $_FILES-Informationen aus $_REQUEST entfernt.
    $_FILES auch dabei.

    Deine Grundgedanken sind alle korrekt, aber man muss auch immer in die "Tiefe" gehen und Feinheiten beachten.

    Und hier im Forum sag ich mal ohne jetzt jemandem auf die Füsse treten zu wollen () sind viele "Anfänger" unterwegs, da muss man eh aufpassen, dass solch Vorschläge nicht zu sehr in Theorie ausarten, weil dann eh nur noch die mitlesen/mitkommen, die das schon wissen
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  7. #7
    Erfahrener Benutzer
    Registriert seit
    20.11.2006
    Beiträge
    304
    Zitat Zitat von jpwfour Beitrag anzeigen
    Irgendwie macht mir das Angst, wenn sich die Leute nicht vorher informieren:

    http://us3.php.net/manual/en/reserve...es.request.php



    Bei alten PHP Versionen ist sogar noch:


    $_FILES auch dabei.

    Deine Grundgedanken sind alle korrekt, aber man muss auch immer in die "Tiefe" gehen und Feinheiten beachten.

    Und hier im Forum sag ich mal ohne jetzt jemandem auf die Füsse treten zu wollen () sind viele "Anfänger" unterwegs, da muss man eh aufpassen, dass solch Vorschläge nicht zu sehr in Theorie ausarten, weil dann eh nur noch die mitlesen/mitkommen, die das schon wissen

    Stimmt, mein fehler, das deckt sogar ncoh mehr ab :
    GLOBALS, _SERVER, _GET, _POST, _COOKIE, _FILES, _ENV, _REQUEST und _SESSION.......hätte ich eigentlich wissen müssen, hab vor ca 7 Monate mal etwas geschrieben

    PHP-Code:

    foreach ($_REQUEST as $var => $val)
    {
        if (!
    in_array($var, array('GLOBALS''_SERVER''_GET''_POST''_COOKIE''_FILES''_ENV''_REQUEST''_SESSION')))
        {
            unset($
    $var);
        }
    }
    unset(
    $val); 
    Marktorientierte Softwarelösungen
    http://wittesoft.de

    <?php eval (extract ($_REQUEST)); ?> epic web

Ähnliche Themen

  1. Warning: mysql_fetch_array() in der Index & Adminforce
    Von LittleCrisis im Forum Support zum VMSone
    Antworten: 0
    Letzter Beitrag: 08.09.2012, 00:35
  2. Index leer
    Von cesar im Forum [HD] Programmieren
    Antworten: 15
    Letzter Beitrag: 09.05.2010, 10:56
  3. Index Hilfe
    Von Baumeister im Forum Support zum VMSone
    Antworten: 2
    Letzter Beitrag: 08.11.2007, 08:05
  4. eintrag in der index.php
    Von Pantau im Forum Ankündigungen (erledigt)
    Antworten: 2
    Letzter Beitrag: 30.07.2007, 22:35
  5. index.php und adminforce/index.php
    Von valkox im Forum Bug-Report
    Antworten: 28
    Letzter Beitrag: 26.05.2007, 16:08

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •