cgi.force_redirect=?

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

  • cgi.force_redirect=?

    Hallo zusammen,

    Ich bab jetzt PHP version 4.0 auf 4.3.2 abgedated.

    seid dem bekomme ich folgende nachricht:

    Security Alert! The PHP CGI cannot be accessed directly.
    This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.



    For more information as to why this behaviour exists, see the manual page for CGI security.

    For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page.

    So weit so gut.
    Bin in die php.ini und hab die Option cgi.force_redirect auf 0 gesetzt.

    Nun klapts auch. Nun bekomme ich NOTICE Meldungen.

    Jede Zeile wo ich
    PHP-Code:
     $_['xyz'
    steht bekomme ich folgende NOTICE-Meldung :

    Notice: Undefined index: goto in xyz.php on line 9



    Nun habe ich 3 Fragen.

    1. Wie behebe ich dieses Problem ohne die Sicherheit zu vernachläsigen?

    2. Ich glaube ich hab da ein Verständnissproble. Gesagt wird ja das wenn ich
    cgi.force_redirect auf 1 setzte das die Sicherheit aktiviert wird. So weit ich weiss ist
    PHP-Code:
     $_['xyz'
    einzugeben wenn die Sicherheit in der PHP.ini aktiviert ist. Ist das richtig??

    3. Wie nennt man diese art von übergabe
    PHP-Code:
     $_['xyz'
    ???

    Sind wahrscheinlich dumme Fragen *g* Bin aber noch ein Greenhorn.
    Zum Programmieren gehört auch die Fachbegriffe zu kennen.

    Bedanke mich schonmal!
    .:::CoreX:::.

    www.core-x.net

  • #2
    1. Mit Problem meinst du die NOTICE?

    hast du schonmal mit arrays gearbeitet? du kannst nicht $_['xyz'] benutzen, wenn dus nicht voher definierst. das ist das, was die notice sagt.
    BTW: ich frage micht, ob es sinnvoll ist, mit $_ zu arbeiten.

    2. was willst du damit sagen?

    3. Wo ist da die Übergabe?

    Kommentar


    • #3
      1. Folgenden Code hab ich:

      PHP-Code:
       <? if ($_GET['goto']=="Home"):
                  $title=".:::[ Welcome to CoreX ]:::.";
                  $home="<b>::Home::</b>";
              ElseIf ($_GET['goto']!=="Home"):
                  $home="Home";
              else:
                  endif; ?>


      <?php Echo'<td><a href="index.php?goto=Home" title="Home|News">'.$home.'</a></td>';?>
      Es wird doch geraten mit $_GET zu arbeiten. Oder irre ich mich da!?
      Was ist denn der Unterschied zwischen
      PHP-Code:
       $test 
      und
      PHP-Code:
       $_GET ['test'
      ??? Das hab ich noch net auf die Reihe bekommen

      Ich meine die Page läuft mit $_GET. Wenn die Seite im Browser aktualisiere dann verschwinden die NOTICE-Meldungen. Sobald ich aber die Seite mit LOCALHOST neu aufrufe bekomme ich wieder die NOTICE-Meldungen :-(


      2.
      Ausschnitt aus der PHP.INI :

      ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
      ; most web servers. Left undefined, PHP turns this on by default. You can
      ; turn it off here AT YOUR OWN RISK
      ; **You CAN safely turn this off for IIS, in fact, you MUST.**
      cgi.force_redirect = 0;

      Dieses cgi.force_redirect hat doch was mit der Sicherheit und mit dem $_GET zu tun?? Oder?

      3. naja...ich wollte eigentlich nur wissen was dieses $_GET['test'] ist.
      .:::CoreX:::.

      www.core-x.net

      Kommentar


      • #4
        1) es ist einfach ne frage der ini: register_globals ist das zauberwort.

        2) also idr. muss das auf 1, bzw gar nicht gestellt werden. kommt die meldung bei dem o.g. code? ich versteh nicht ganz wieso, aber das ist auch nicht mein gebiet.

        wenns nur n testserver ist, dann lass es auf 0, solange es online richtig funktioniert.

        3) das ist ein globales Array -> s. 1)

        Kommentar


        • #5
          1.
          register_Glabals hab ich schon mal von gelesen.
          Hab in der .ini nachgelesen...aber keine Option gefunden wo mans einstellen kann.

          Ist es ein Vorteil wenn man mit glabalen Arrays Arbeitet??Wenn ja welcher??

          2.Ok habs auf 0 gesetzt.

          Nun bekomme ich ja bei starten meiner page den text:

          Security Alert! The PHP CGI cannot be accessed directly.
          This PHP CGI binary was ..........


          Was muss ich nun machen damit meine Seite normal aufgerufen wird!?
          .:::CoreX:::.

          www.core-x.net

          Kommentar


          • #6
            2) dann setz es auf 1. ich denk du hattest die meldung schon weg?

            1) z.B. bei Funktionen, Klassen, ...

            Kommentar


            • #7
              ja nur wenn ich den cgi.force_redirect auf 0 setzte dann ist die Meldung weg.

              Aber dafür kommen die NOTICE-Meldungen. Und meine HP wird auch angezeigt. Als die Notice-meldungen sind Praktisch über meiner Seite angeordnet.
              .:::CoreX:::.

              www.core-x.net

              Kommentar


              • #8
                dann bist du ja auf dem richtigen Weg!!!

                wenn Du jetzt noch ordentlichen PHP-Code schreibst, verschwinden auch die Meldungen. Aber dazu hab ich ja eigentlich schon was geschrieben!

                Kommentar


                • #9
                  ok...jetzt hab ich den Code in

                  PHP-Code:

                  <? if ($goto=="Home"):
                              $title=".:::[ Welcome to CoreX ]:::.";
                              $home="<b>::Home::</b>";
                          ElseIf ($goto=="Home"):
                              $home="Home";
                          else:
                              endif; ?>


                  <?php Echo'<td><a href="index.php?goto=Home" title="Home|News">'.$home.'</a></td>';?>
                  abgeändert.

                  Trozdem bekomme ich noch die Security-Meldung.
                  .:::CoreX:::.

                  www.core-x.net

                  Kommentar


                  • #10
                    hab nen ganz bösen Fehler bei meinem Postig´s bemerkt :-( Ich meinte ja auch net $_['xyz'] sondern $_GET['xyz']!!!!!!! Dickes Sorry!!
                    .:::CoreX:::.

                    www.core-x.net

                    Kommentar


                    • #11
                      hab das gefühl, du hast meine beiträge nicht richtig gelesen, sonst wäre das früher aufgefallen

                      ich denk die meldung war eben weg?

                      Kommentar


                      • #12
                        wollte nur klarstellen *g* Hätte ja sein können das wir einader vorbeireden. Und ich denke bei so einem Anfänger wie mir kann es leicht vorkommen!

                        ne die Security-Meldung ist immer noch da!
                        Wie schon geschreiben wenn ich cgi.force_redirect auf 0 setzte dann verschwindet die Security-Meldung. Aber dafür tauchen die NOTICE-Meldungen auf.

                        cgi.force_redirect ist bei mir kommentiert (also ein ";" dovorgesetzt)!

                        was mache ich nun falsch??
                        .:::CoreX:::.

                        www.core-x.net

                        Kommentar


                        • #13
                          vielleicht doch vorbeigeredet

                          setz es auf 0, also das die Meldung weg bleibt!

                          und dann programmierst du eben mal sauber!

                          Kommentar


                          • #14
                            was verstehst du unter sauber programmieren???....mit der vorherigen PHP version hat sehr gut geklappt!!

                            Der Ärger ging erst dann los als ich die V4.3 installiert habe!


                            Aussderm was stimmt mit den o.g. Code nicht??

                            Und worauf ich nicht verzeichten möchte ist die Sciherheit.
                            Und wie eich es Verstanden habe ist mit $_GET gegeben. Oder verdrehe ich das was!
                            .:::CoreX:::.

                            www.core-x.net

                            Kommentar


                            • #15
                              ich hab eigentlich keine ahnung, was die cgi.force macht. das hat irgendwas mit dem modul zu tun, denke ich. aber egal musste morgen mal gucken, obs jemand anderes besser weiß. ich werd abraxax mal hierhin schicken, der muss sowas wissen.

                              Die NOTICEs sagen dir schon was du falsch machst. wenn du das berichtigst, dann ist dein code sauber!

                              Kommentar

                              Lädt...
                              X