1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Apache kennt kein if($i=='2'){.....???

Dieses Thema im Forum "PHP & Co." wurde erstellt von MACRASSI, 11.10.05.

  1. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    21.11.04
    Beiträge:
    1.754
    Hallo!
    Ich wollte gerade eben ein Script auf meinem lokalen Webserver ausführen, da merke ich das der Apache (version 2.0.54) meine Funktion/Ifclausel:
    PHP:
    <?php
    echo"Hallo!<br>";

    if(
    $page=='install2'){ echo"Das is die Seite 2"; }
    ?>
    nicht ausführen kann.
    Er zeigt mir zwar das Hallo!<br> an aber nicht: "Das is die Seite 2".
    Und ich habe das Script unter
    http://localhost/~Rasmus/install.php?page=install2
    aufgerufen.

    Kann der Apache das nicht? o_O
    Kennt der keine "if" Schleifen?
    Weil mein Webserver den ich gehostet hat kann es...
    Gruß Rasmus
     
  2. commander

    commander Baldwins roter Pepping

    Dabei seit:
    25.02.04
    Beiträge:
    3.210
    Mach doch mal ein echo auf $page....
     
  3. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    21.11.04
    Beiträge:
    1.754
    Hab ich aber er zeigt es mir nicht an...

    EDIT: Ich glaub er kommt mit den ?page=2 in der Adresszeile nicht klar...

    Gruß Rasmus
     
  4. commander

    commander Baldwins roter Pepping

    Dabei seit:
    25.02.04
    Beiträge:
    3.210
    Ich muss vorausschicken, dass ich k.A. von php hab - ich kann also nur rumstochern.

    Wenn er Dir die Variable nicht ausgibt, kennt er sie wahrscheinlich nicht.

    Versuch doch mal sowas wie "Vorne " + $page + " Hinten" auszugeben - wenn dabei nur 'Vorne Hinten' rauskommt, kannst Du Dir sicher sein....

    Gruß,

    .commander
     
  5. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    Hallo!

    sorry, aber die rede ist hier von Bedingungen (!= Schleifen). :mad:

    du übergibst die Variable als GET-var. Aus Sicherheitsgründen ist der Wert der Variablen so abzurufen:
    Code:
    $_GET['page']
    Post variablen dann so:
    Code:
    $_POST['key']
    
    oder: du deaktivierst dieses feature und änderst REGISTER_GLOBALS in der php.ini.

    c7
     
  6. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    21.11.04
    Beiträge:
    1.754
    Ok ich glaube das ich das änder...
    Danke für die Hilfe.
    Sorry für das **Schleife... ;)
    Gruß Rasmus
    PS. Wo finde ich nochmal die php.ini?
     
    #6 MACRASSI, 11.10.05
    Zuletzt bearbeitet: 11.10.05
  7. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    :cool:

    ändern würde ich das nicht. Begründung: Sicherheitsproblem.
    zb.:
    Code:
    if( logged_in ) {
      session_start();
      /**
       * do something
       */
      header( 'Location: adminpanel.php' );
    }
    
    es würde in diesem Fall genügen einfach die Variable www.yourdomain.com?logged_in=true zu übergeben... in diesem Fall eine Session starten usw...

    Würdest du nur registrierte Variablen erlauben gibt es keine Möglichkeit die Schleife durch URL_Manipulation zu betreten, da man Werte von GET-Variablen nur über das GET-Array, bzw POST-Variablen über das POST-Array (beides über das $_REQUEST-Array) abfragen kann.

    c7.
     
  8. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    21.11.04
    Beiträge:
    1.754
    Das klingt logisch, aber ich denke nicht das es jetzt so schlimm ist das wenn ich das script nur lokal ausführen möchte oder?
    Gruß Rasmus
     
  9. xenxox

    xenxox Macoun

    Dabei seit:
    08.02.05
    Beiträge:
    122
    Die register Globals zu aktivieren ist aber kein unwesentliches Sicherheitsrisiko. Sobald du das Script auf einem anderen Server laufen lassen wills wirst du wieder vor dem gleichen Problem stehen da die register Globals in der Regel seit PHP 4.x standardmäßig deaktiviert sind. Also lieber schön die $_GET[] und $_POST[] Arrays nutzen um die Variablen abzufragen.
     
  10. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    21.11.04
    Beiträge:
    1.754
    Ich habe mich jetzt entschieden nur noch so zu programmieren weil es einfach viel sicherer ist.
    Vielen dank für die Hilfe Rasmus
     

Diese Seite empfehlen