humpa: IE verzieht die Zelle

Hi.

Meine Seite ist mit Tabellen aufgebaut. In der mittleren Zelle, der größten, kommt logischerweise der gesamte Inhalt rein. Dieser wird durch einen Parameter h per PHP includiert:

  
 if(!(isset($h))){  
  include("news.php");  
 }  
 else{  
  @include("$h");  
 }  

Bei einer überlangem Zeile bricht der Opera, Mozilla etc automatisch um, der IE jedoch nicht, er verzieht die innere Zelle, bis ein <br> kommt.
Ich habe das Problem erst gemerkt, als ich schon 100 Zeilen geschrieben hatte. Ich müsste also dort, wo jeder normale Browser umbricht, ein <br> hinsetzen, damit der IE es tut. Doch für 100 Zeile ist das mir zu aufwändig.

Gibt es eine Möglichkeit, dem IE zu "sagen", dass er bei Überlänge einer Zeile automatisch umbrechen soll? Mit CSS min-width und max-width habe ich es schon probiert, ohne Ergebnis.

Danke, humpa

  1. Hallo humpa

    kommen die Inhalte aus einer Datenbank oder sind sie statisch?

    Gruß
    Carl

    1. Hallo Carl!

      kommen die Inhalte aus einer Datenbank oder sind sie statisch?

      Was wäre dabeo der Unterschied? Meinetwegen können sie auch aus
      Taka-Tuka-Land kommen ;-)

      ℆, ℒacℎgas

      --
      Bei der intendierten Realisierung der linguistischen Simplifizierung
      des regionalen Idioms resultiert die Evidenz der Opportunität extrem
      apparent, den elaborierten und quantitativ opulenten Usus nicht assi-
      milierter Xenologien konsequent zu eliminieren!
      1. Hallo Lachgas

        Was wäre dabeo der Unterschied? Meinetwegen können sie auch aus
        Taka-Tuka-Land kommen ;-)

        Der, dass Inhalte aus einer Datenbank öfters mal vor der Ausgabe vorformatiert werden sollten, während sie es bei statischen Seiten im Normalfall bereits sind.

        ℆, ℒacℎgas

        Gruß
        Carl

    2. kommen die Inhalte aus einer Datenbank oder sind sie statisch?

      Sie kommen aus html-Dateien und werden includiert. Steht aber alles im OP...

      1. Hallo Humpa

        Sie kommen aus html-Dateien und werden includiert. Steht aber alles im OP...

        Was du sagst ist, dass du eine PHP-Datei includest. Was in dieser Datei steht, sagst du nicht ;)

        Gruß
        Carl

        1. Sie kommen aus html-Dateien und werden includiert. Steht aber alles im OP...

          Was du sagst ist, dass du eine PHP-Datei includest. Was in dieser Datei steht, sagst du nicht ;)

          Ich includiere eine html-Datei. In der Datei sind die Sachen, was ich anzeigen lassen will, also das was nachher in der Zelle steht, die der IE verzieht

  2. Hallo humpa!

    Meine Seite ist mit Tabellen aufgebaut. In der mittleren Zelle, der
    größten, kommt logischerweise der gesamte Inhalt rein. Dieser wird
    durch einen Parameter h per PHP includiert:

    Let it be ... Tabellen sind nicht dafür da, mit über 100 Zeilen
    gefüllt zu werden.

      
    
    >  if(!(isset($h))){  
    >   include("news.php");  
    >  }  
    >  else{  
    >   @include("$h");  
    >  }  
    
    

    Aha, die Totschlagmethode. $h ist wahrscheinlich ein Wert über GET,
    gell? Ich möchte dir jetzt nicht sagen, was man damit alles anstellen
    kann.

    ℆, ℒacℎgas

    --
    Bei der intendierten Realisierung der linguistischen Simplifizierung
    des regionalen Idioms resultiert die Evidenz der Opportunität extrem
    apparent, den elaborierten und quantitativ opulenten Usus nicht assi-
    milierter Xenologien konsequent zu eliminieren!
    1. Hallo humpa!

      hey Lachgas

      if(!(isset($h))){
        include("news.php");
      }
      else{
        @include("$h");
      }

        
      
      > Aha, die Totschlagmethode. $h ist wahrscheinlich ein Wert über GET, gell?  
      
      Nein, h wird einfach per Link übergeben...  
      
      
      1. Hallo Humpa

        Nein, h wird einfach per Link übergeben...

        Du solltest dich mal ganz dringen mit der Sicherheit in Scripten beschäftigen, insbesondere mit Daten die von Clientseite kommen. Stichwort: register_globals

        Gruß
        Carl

      2. Hallo humpa!

        Aha, die Totschlagmethode. $h ist wahrscheinlich ein Wert über GET, gell?
        Nein, h wird einfach per Link übergeben...

        Das _ist_ die GET-Methode ...

        ℆, ℒacℎgas

        --
        Bei der intendierten Realisierung der linguistischen Simplifizierung
        des regionalen Idioms resultiert die Evidenz der Opportunität extrem
        apparent, den elaborierten und quantitativ opulenten Usus nicht assi-
        milierter Xenologien konsequent zu eliminieren!
        1. Das _ist_ die GET-Methode ...

          Ich kenne die get-Methode nur von HTML-Formularen... Also ist alles, was an die Adresse Parameter dranhängt automatisch die get-Methode?

          1. Hallo humpa!

            Ich kenne die get-Methode nur von HTML-Formularen... Also ist alles,
            was an die Adresse Parameter dranhängt automatisch die get-Methode?

            Ja. Wobei es bei einer POST-Weitergabe der Daten auch nicht viel
            sicherer wäre. Was du dringend verbessern musst, ist deine Inkludierungs-
            methode.

            ℆, ℒacℎgas

            --
            Bei der intendierten Realisierung der linguistischen Simplifizierung
            des regionalen Idioms resultiert die Evidenz der Opportunität extrem
            apparent, den elaborierten und quantitativ opulenten Usus nicht assi-
            milierter Xenologien konsequent zu eliminieren!
            1. Hallo Lachgas.

              Was du dringend verbessern musst, ist deine Inkludierungs-
              methode.

              Dazu meine Empfehlung.

              Dies in einer Variablenabfrage integriert sorgt für ein _nahezu_ totsicheres Script, was die Inkludierung fremder Resourcen nicht möglich macht.

              Gruß, Ashura

              --
              Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
              Try it: Become an Opera Lover in 30 days
              1. »» Dazu meine Empfehlung.

                Danke Ashura. Jetzt habe ich das kleine Script umgeändert, und so sieht es jetzt aus:

                  
                 if(!(isset($h))){  
                  include("news.php");  
                 }  
                 else{  
                  if(file_exists($h)){  
                   include($h);  
                  }  
                  else{  
                   echo "Datei existiert nicht";  
                  }  
                 }  
                
                

                Bist du jetzt zufrieden, oder gibt es noch Sicherheitslücken?

                1. Hallo humpa.

                  Bist du jetzt zufrieden, oder gibt es noch Sicherheitslücken?

                  Ja, die gibt es durchaus.

                  if(file_exists($h)){

                  #^^^^^^^^^^^^^^ Das kann auch auf einem anderen Server der Fall sein.

                    
                  Binden am Besten noch die Variable `$_SERVER["DOCUMENT_ROOT"]`{:.language-php} ein, um einen pseudo-absoluten Pfad zu erzeugen, welcher nur Dateien inkludiert, welche sich in deinem Dokument Root befinden.  
                    
                    
                  Gruß, Ashura  
                  
                  -- 
                  Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|  
                  Try it: [Become an Opera Lover in 30 days](http://tntluoma.com/opera/lover/7/)
                  
                  1. Binden am Besten noch die Variable $_SERVER["DOCUMENT_ROOT"] ein, um einen pseudo-absoluten Pfad zu erzeugen, welcher nur Dateien inkludiert, welche sich in deinem Dokument Root befinden.

                    Hab ich gemacht, danke.
                    Aber was ist jetzt eigentlich mit meiner Ursprungsfrage? Die nicht vorhandenen Zeilenumbrüche im IE?

                    1. Aber was ist jetzt eigentlich mit meiner Ursprungsfrage? Die nicht vorhandenen Zeilenumbrüche im IE?

                      Määänsch!

                      Das ist doch völlig wurscht! Hauptsache man hat hier seinen Spaß und fachsimpelt in Threads von Anfängern mit Popelfragen, für deren Beantwortung man sich zu schade ist, mit Profis über andere Probleme. Man ändert dann auch nicht die Rubrik oder das Thema. Denn man ist ja Profi. Und die werden sowieso nicht auf Fehlverhalten im Forum hingewiesen.

                      Aber was dein Problem betrifft: Zu sagen, dass du die Seite nicht zeigen möchtest (aus welchen gründen auch immer) motiviert und erleichtert nicht gerade eine Lösungsangabe, so man denn gewillt wäre eine solche abzugeben.

                      So long
                      Kalle

                      1. Hallo Kalle.

                        Denn man ist ja Profi. Und die werden sowieso nicht auf Fehlverhalten im Forum hingewiesen.

                        Erst schauen, dann meckern.

                        Gruß, Ashura

                        --
                        Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
                        Try it: Become an Opera Lover in 30 days
                  2. 你好 Ashura,

                    Binden am Besten noch die Variable $_SERVER["DOCUMENT_ROOT"] ein, um einen pseudo-absoluten Pfad zu erzeugen, welcher nur Dateien inkludiert, welche sich in deinem Dokument Root befinden.

                    script.php?h=../../../../../../../../etc/passwd

                    Nein, entweder oder. realpath() drueberlaufen lassen und dann pruefen,
                    ob die Datei ueberhalt des Document-Root ist, z. B. so:

                      
                    $h = $_GET['h'];  
                    $path = realpath($_SERVER["DOCUMENT_ROOT"].'/'.$h);  
                    $qpath = addslashes($_SERVER["DOCUMENT_ROOT"]);  
                    if(preg_match("/^$qpath",$path)) {  
                      # Juppi, valide.  
                    }  
                    
                    

                    Dabei muss aber noch darauf geachtet werden, dass keine Passwort-Dateien
                    oder so im Document-Root liegen. Ansonsten muss man halt mit einer
                    Whitelist arbeiten, das waere das sicherste (Liste aller erlaubten
                    $h-Werte anlegen, kann sich auch z. B. ueber eine DB-Abfrage ergeben).

                    再见,
                    克里斯蒂安

                    --
                    Mit einem Windhauch kannst du das Feuer loeschen. Mit einem Windhauch kannst du das Feuer entfachen.
                    1. Hallo Christian.

                      script.php?h=../../../../../../../../etc/passwd

                      Sollte dies ein Beispiel sein?
                      Wenn ja -- bei meinem Linux-Server läuft das ins Leere.
                      (Fehlermeldung: Warning: main() [function.include]: Failed opening)
                      Hast du zufällig irgendeinen anderen Parameter zur Verfügung, mit dem ich testen kann, ob mein Script zumindest in dieser Hinsicht wasserdicht ist?

                      Gruß, Ashura

                      --
                      Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
                      Try it: Become an Opera Lover in 30 days
                      1. Hallo,

                        script.php?h=../../../../../../../../etc/passwd
                        Sollte dies ein Beispiel sein?
                        Wenn ja -- bei meinem Linux-Server läuft das ins Leere.
                        (Fehlermeldung: Warning: main() [function.include]: Failed opening)

                        *g* Ein _wenig_ Arbeit muss der Hacker schon leisten. Die Anzahl der "../" ist durch Probieren so anzupassen, dass das Wurzelverzeichnis des Dateisystems erreicht wird.

                        viele Grüße

                        Axel

                        1. Hallo Axel.

                          Die Anzahl der "../" ist durch Probieren so anzupassen, dass das Wurzelverzeichnis des Dateisystems erreicht wird.

                          Auch dies habe ich selbst versucht, die Fehlermeldung war immerzu die selbe.
                          Bei 15mal "../" habe ich aufgehört...

                          Gruß, Ashura

                          --
                          Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
                          Try it: Become an Opera Lover in 30 days
  3. Hallo humpa!

    Lass uns Deine Seite mal anschauen. (Per Link) Wir werden Dir dann sicherlich zeigen was man für tolle Inhalte in Deine Zelle füllen kann, dann sind die 100  zeichen auch kein Problem mehr. Versprochen.

    Schönen Gruß

    Afra

    1. Lass uns Deine Seite mal anschauen. (Per Link) Wir werden Dir dann sicherlich zeigen was man für tolle Inhalte in Deine Zelle füllen kann, dann sind die 100  zeichen auch kein Problem mehr. Versprochen.

      Also, so viel habe ich jetzt auch schon in Erfahrung gebracht, dass es extrem unsicher ist. Vielleicht zeige ich euch meine Seite, wenn sie fertig ist...