steffen: function die() Problem

Hallo Forumleser,

ich muss eine Datei laden, nun habe ich eine Abfrage gemacht, wenn diese Datei nicht exestiert, soll er eine Fehlermeldung bringen und dann das script stoppen.

Dies macht ich mit die() (oder exit()) ist das selbe im Endefekt ...

Wenn die Datei nun exestiert bringt er den Fehler, aber es kommt eine Nachricht im FF 3.5 (wenn vorher eine Website geöffnet war)

Die Anfrage {GET http://linkzumscript <<< http://(Link zu der Seite auf die vorher geöffnet war) } wurde durch ABE gefiltert

Nun frage ich mich 2 Sachen:

1. Wieso passiert das, wenn ich mit die() das script abbreche?
2. Welche Möglichkeiten habe ich, ein Script abzubrechen ohne diese Meldung?

Danke für eure Hilfe

Steffen

  1. Die Anfrage {GET http://linkzumscript <<< http://(Link zu der Seite auf die vorher geöffnet war) } wurde durch ABE gefiltert

    Servus,

    Das ist keine PHP Fehlermeldung... du haust einen Header per PHP raus oder?

    1. Hallo jmrickson,

      Das ist keine PHP Fehlermeldung... du haust einen Header per PHP raus oder?

      Hier ein Beispielcode von php.net:

      <?php  
        
      $conn = mysql_connection("localhost","root",12345678);  
        
      if(!$conn){  
      die("Couldn't connected mysql");  
      }  
        
      ?>
      

      Tritt der selbe Fehler auf.

      Der Fehler kommt übrigens von dem Plugin NoScript.

      mfg jin

  2. Hi!

    ich muss eine Datei laden, nun habe ich eine Abfrage gemacht, wenn diese Datei nicht exestiert, soll er eine Fehlermeldung bringen und dann das script stoppen.

    Warum soll das Script gestoppt werden? Gibt es keine Alternative, das Script geordnet zu beenden?

    Wenn die Datei nun exestiert bringt er den Fehler, aber es kommt eine Nachricht im FF 3.5 (wenn vorher eine Website geöffnet war)
    Die Anfrage {GET http://linkzumscript <<< http://(Link zu der Seite auf die vorher geöffnet war) } wurde durch ABE gefiltert

    Frag "ABE", warum der das gefiltert hat. Das sieht jedenfalls nicht nach einen PHP-Problem aus.

    1. Wieso passiert das, wenn ich mit die() das script abbreche?

    Was bekommt der Client zu sehen?

    1. Welche Möglichkeiten habe ich, ein Script abzubrechen ohne diese Meldung?

    Versuch dem Client ein ordentliches (vollständiges) Dokument zu schicken, kein abgebrochenes. (Es sei denn, der Client ist in dem Fall erwartungsgemäß ein Spam-Bot oder ähnliches, dann lohnt der Aufwand eines vollständigen Dokuments nicht.)

    Lo!

    1. Hi Lo,

      derzeit ist es nur zum Testen so, aber Frage mich trotzdem, wieso der Fehler auftritt.

      Hab es in die PHP Sektion getan, weil mit dem die()/exit() Befehl zusammen hängt.

      Ausgeliefert wird der Fehler von NoScript.

      mfg Jin

      1. Hi!

        derzeit ist es nur zum Testen so, aber Frage mich trotzdem, wieso der Fehler auftritt.

        Wenn du zunächst Antworten zu meinen Fragen suchtest, kämest du vermutlich der Beantwortung deiner Frage näher.

        Hab es in die PHP Sektion getan, weil mit dem die()/exit() Befehl zusammen hängt.
        Ausgeliefert wird der Fehler von NoScript.

        Alles was ein Client zu beanstanden hat ist erst einmal beim Client zu suchen. Was sieht der Client? Ist das aus seiner Sicht in Ordnung (fehlerfreier Code)? Erst wenn feststeht, was der Client anders zu bekommen hat, als es derzeit der Fall ist, kann man sich anschicken, den Server entsprechend zu programmieren.

        Am Server versuchsweise herumzutesten ist zwar auch eine Strategie, die effektiv sein kann, aber sie ist für gewöhnlich weniger effizient.

        Lo!

        1. Was sieht der Client? Ist das aus seiner Sicht in Ordnung (fehlerfreier Code)? Erst wenn feststeht, was der Client anders zu bekommen hat, als es derzeit der Fall ist, kann man sich anschicken, den Server entsprechend zu programmieren.

          Wenn NoScript ne HTML Seite sehen will dann gib ihm halt eine:

            
            
          $fehlertext='<html>  
           <head>  
            <title>Es ist ein Fehler aufgetreten</title>  
           </head>  
            
          <body>  
          <p>Es ist ein Fehler aufgetreten</p>  
          </body>  
          </html>  
          ';  
            
          die($fehlertext);  
          
          
  3. Hi,

    Die Anfrage {GET http://linkzumscript <<< http://(Link zu der Seite auf die vorher geöffnet war) } wurde durch ABE gefiltert

    Nun frage ich mich 2 Sachen:

    1. Wieso passiert das, wenn ich mit die() das script abbreche?

    Weil NoScripts Application Boundaries Enforcer in diesem Fehlverhalten der Applikation ein mögliches Sicherheitsrisikio für den Client sieht.

    1. Welche Möglichkeiten habe ich, ein Script abzubrechen ohne diese Meldung?

    Zitat #1282

    Der Client hat ein HTML-Dokument angefordert, also liefere ihm auch ein solches.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]