Bine: Hyperlink im Firefox

Hallöchen,
hab da kleines Problem...

Ich hab eine HTML-Seite, die nur lokal an meinem Rechner benutzt wird.
Jetzt hab ich einen Link auf D:/TMP/ gelegt:

  
<a href="D:/TMP/">TMP-Verzeichnis</a>  

Der IE macht das ohne Probleme, der Firefox dagegen bringt mir die Fehlermeldung: "d ist kein registriertes Protokoll".
Da ich aber nicht mit IE arbeiten will, wäre ich für jeden Tipp dankbar.

Gruß Bine

  1. hi,

    Der IE macht das ohne Probleme, der Firefox dagegen bringt mir die Fehlermeldung: "d ist kein registriertes Protokoll".
    Da ich aber nicht mit IE arbeiten will, wäre ich für jeden Tipp dankbar.

    file://

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. hallo Bine,

    <a href="D:/TMP/">TMP-Verzeichnis</a>

    
    > Der IE macht das ohne Probleme, der Firefox dagegen bringt mir die Fehlermeldung: "d ist kein registriertes Protokoll".  
      
    Da hat Firefox doch recht. Mach mal  
      file:///D:/TMP  
    daraus, das versteht der  IE ebenfalls, und alles sollte gut werden.  
      
      
    Grüße aus Berlin  
      
    Christoph S.
    
    -- 
    <mailto:christoph.schnauss@berlin.de>  
    <http://www.christoph-schnauss.de>  
      
    ss:| zu:) ls:& fo:) va:) sh:| rl:|  
    
    
    1. Da hat Firefox doch recht. Mach mal
        file:///D:/TMP
      daraus, das versteht der  IE ebenfalls, und alles sollte gut werden.

      OK,OK. In einer normalen HTML-Datei klappt es, aber wenn ich mir den Link mit PHP ausgeben lassen will, klappts nimmer.

        
      echo "<a href=\"file:///D:/TMP/\">";  
      
      

      Das versteh ich nicht...

      1. OK,OK. In einer normalen HTML-Datei klappt es, aber wenn ich mir den Link mit PHP ausgeben lassen will, klappts nimmer.

        echo "<a href="file:///D:/TMP/">";

          
          
        Müsste eigentlich so funktionieren. Was kommt denn beim Browser für ein HTML Code an?  
          
        mfg  
         horst
        
        1. Müsste eigentlich so funktionieren. Was kommt denn beim Browser für ein HTML Code an?

          Meine ganze php-Datei schaut so aus:

            
          <?php  
            echo "<a href=\"file:///D:/TMP/\">TMP-Verzeichnis</a>";  
          ?>  
          
          

          und der entsprechende Seitenquelltext:

            
          <a href="file:///D:/TMP/">TMP-Verzeichnis</a>  
          
          

          Aber es geht nicht!

          1. hallo Bine,

            Aber es geht nicht!

            _Was_ geht da nicht? Und wenn das PHP ist, läuft es über einen lokalen Webserver. Was sagen dessen logs denn dazu aus?

            Grüße aus Berlin

            Christoph S.

            1. _Was_ geht da nicht?

              Na, der Link funzt nicht...

              Und wenn das PHP ist, läuft es über einen lokalen Webserver. Was sagen dessen logs denn dazu aus?

              Hab XAMPP installiert, wo kann ich die logs den sehen???

              1. hallo Bine,

                _Was_ geht da nicht?
                Na, der Link funzt nicht...

                Versuche das doch bitte etwas genauer anzugeben. Der Verweis müßte in der Form, in der du ihn bisher angegeben hast, das "Standarddokument" öffnen, also vermutlich eine "index.htm". Ist so ein "Standarddokument" nicht vorhanden, sollte dir normalerweise ein Verzeichnislisting angeboten werden.
                Entweder rufst du mal eine Seite mit dem korrekten Namen auf, also in der Form
                 file:///D:/TMP/dateiname.htm
                oder du legst dir eine Index-Datei in dieses Verzeichnis.

                Hab XAMPP installiert, wo kann ich die logs den sehen?

                Da du das selbst festlegen kannst, mußt du selber wissen, wo deine logs liegen.

                Grüße aus Berlin

                Christoph S.

                1. Hallo Christoph.

                  Versuche das doch bitte etwas genauer anzugeben. Der Verweis müßte in der Form, in der du ihn bisher angegeben hast, das "Standarddokument" öffnen, also vermutlich eine "index.htm".

                  Wenn es sich um Konqueror handelt, ggf. ja.
                  Aber bei anderen Browsern habe ich noch nie erlebt, dass beim Aufrufen eines Verzeichnisses über das file-Protokoll eine evtl. vorhandene index.*-Datei angezeigt wird, anstatt den Verzeichnisinhalt anzuzeigen.

                  Einen schönen Donnerstag noch.

                  Gruß, Ashura

                  --
                  Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                  30 Days to becoming an Opera8 Lover -- Firefox tools for Opera built-ins
                  Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                  MathML fetzt
            2. hallo Bine,

              Aber es geht nicht!

              _Was_ geht da nicht? Und wenn das PHP ist, läuft es über einen lokalen Webserver. Was sagen dessen logs denn dazu aus?

              Was sollten denn die Logfiles aussagen, wenn das PHP Script offensichtlich den HMTL Code richtig erzeugt hat.
              Ich hab das Problem darin verstanden, dass der Browser den Link
              <a href="file:///D:/TMP/">TMP-Verzeichnis</a>
              link öffnen kann.
              Bei mir wird korrekt das Verzeichnis D:\TMP\ angezeigt. Getestet mit IE, FF und Mozilla

              Was Bine, geht denn nicht? Wie äußert sich das "nicht gehen"?

              mfg
               Horst

              1. Was Bine, geht denn nicht? Wie äußert sich das "nicht gehen"?

                mfg
                Horst

                Hallo Horst,
                wenn ich den Link anklicke, passiert NIX!
                Also ich spreche immernoch von dem Link der mit PHP erzeugt wurde..

                Hab mal probiert, wenn ich mit Rechtsklick auf den Link gehe und dort auf Linkadresse kopiere und die dann in die Adressleiste eingebe, funktionierts.
                Das muss ich nicht verstehen, oder?

                1. Was Bine, geht denn nicht? Wie äußert sich das "nicht gehen"?

                  mfg
                  Horst

                  Hallo Horst,
                  wenn ich den Link anklicke, passiert NIX!
                  Also ich spreche immernoch von dem Link der mit PHP erzeugt wurde..

                  Hab mal probiert, wenn ich mit Rechtsklick auf den Link gehe und dort auf Linkadresse kopiere und die dann in die Adressleiste eingebe, funktionierts.
                  Das muss ich nicht verstehen, oder?

                  Hhhmm....
                  Keine Ahnung, da muss ich passen. Sorry!

                  mfg
                   Horst

                2. Hallo,

                  wenn ich den Link anklicke, passiert NIX!
                  Also ich spreche immernoch von dem Link der mit PHP erzeugt wurde..

                  Die PHP-Seite, die den Link erzeugt wird doch dann aber von einem Webserver via http:// ausgeliefert, sonst würde ja auch PHP nicht geparst werden. Nun soll mit dem Link auf das lokale file:// Protokoll gewechselt werden. Das ist ein Sicherheitsrisiko, weshalb das mit den Standardeinstellungen des FF nicht funktioniert.

                  http://kb.mozillazine.org/Links_to_local_pages_don't_work

                  Hab mal probiert, wenn ich mit Rechtsklick auf den Link gehe und dort auf Linkadresse kopiere und die dann in die Adressleiste eingebe, funktionierts.
                  Das muss ich nicht verstehen, oder?

                  In diesem Szenario rufst _Du_ ja dann direkt das file-Protokoll auf. Sicherheitskritisch ist nur, wenn das von einer HTTP-Ressource aus dem Internet geschehen könnte.

                  viele Grüße

                  Axel

                  1. Danke Axel! Jetzt klappt's! Danke, danke, danke... :-)))))

                    1. Hallo,

                      Danke Axel! Jetzt klappt's! Danke, danke, danke... :-)))))

                      Ich hoffe doch, Du hast einen moderen FF und das Ganze nur für
                      capability.policy.localfilelinks.sites
                      freigeschaltet.

                      Ansonsten würde ich mir nochmal überlegen, ob Du den lokalen Link _wirklich_ benötigst. Sicherheitsrisiken werden nicht umsonst als solche eingestuft.

                      viele Grüße

                      Axel

                  2. hallo Axel,

                    Die PHP-Seite, die den Link erzeugt wird doch dann aber von einem Webserver via http:// ausgeliefert, sonst würde ja auch PHP nicht geparst werden. Nun soll mit dem Link auf das lokale file:// Protokoll gewechselt werden. Das ist ein Sicherheitsrisiko, weshalb das mit den Standardeinstellungen des FF nicht funktioniert.

                    Klingt zwar plausibel, meiner machts aber trotzdem ;-)

                    Um das Ganze zu einem Abschluß zu bringen: "file://" ist ja nicht wirklich ein Protokoll. Man kann sich nun in der httpd.conf einen Alias für "D:/TEMP" anlegen, dann ist die ganze Geschichte damit zu lösen, daß das Verzeichnis eben über diesen Aliasnamen aufgerufen wird und das HTTP-Protokoll nicht verlassen werden braucht.

                    Grüße aus Berlin

                    Christoph S.

                    1. Hallo Christoph,

                      Klingt zwar plausibel, meiner machts aber trotzdem ;-)

                      *g* Sicher, dass Du ihn noch mit den Standardeinstellungen fährst?

                      Um das Ganze zu einem Abschluß zu bringen: "file://" ist ja nicht wirklich ein Protokoll.

                      Nicht? Zumindest ist es ein scheme in einem URI http://www.faqs.org/rfcs/rfc2396.html.

                      Man kann sich nun in der httpd.conf einen Alias für "D:/TEMP" anlegen, dann ist die ganze Geschichte damit zu lösen, daß das Verzeichnis eben über diesen Aliasnamen aufgerufen wird und das HTTP-Protokoll nicht verlassen werden braucht.

                      ...wenn der Server ein Apache ist.

                      und

                      Zitat aus dem Ausgangsposting:

                      Jetzt hab ich einen Link auf D:/TMP/ gelegt:
                      <a href="D:/TMP/">TMP-Verzeichnis</a>

                      Sie will den Verzeichnisinhalt von D:\TMP\ anzeigen.

                      ...wenn er Autoindex zulässt.

                      viele Grüße

                      Axel

                      1. hallo Axel,

                        ...wenn der Server ein Apache ist.
                        und
                        ...wenn er Autoindex zulässt.

                        Beides kannst du als gegeben voraussetzen, da sie XAMPP fährt und mod_autoindex "default" aktiv sein dürfte - ist es jedenfalls meistens.

                        Grüße aus Berlin

                        Christoph S.

              2. hallo Horst,

                Was sollten denn die Logfiles aussagen, wenn das PHP Script offensichtlich den HMTL Code richtig erzeugt hat.

                Wenn der Verweis auf eine nichtexistente Datei zeigt, gibts eine Fehlermeldung bzw. eine entsprechende "Nummer". Daraus kann man Schlußfolgerungen ziehen.

                Grüße aus Berlin

                Christoph S.

                1. hallo Horst,

                  Was sollten denn die Logfiles aussagen, wenn das PHP Script offensichtlich den HMTL Code richtig erzeugt hat.

                  Wenn der Verweis auf eine nichtexistente Datei zeigt, gibts eine Fehlermeldung bzw. eine entsprechende "Nummer". Daraus kann man Schlußfolgerungen ziehen.

                  Nö. Warum sollte PHP erkennen worum es sich da handelt, was es als String ausgibt.
                  Das Beispiel war in etwa so:

                  echo "<a href='blalbal.html'>blabla</a>';

                  Ausgabe:
                  <a href='blalbal.html'>blabla</a>

                  Warum sollte jetz im Logfile vom Webserver irgendwo stehen, dass es den Link nicht gibt?

                  mfg
                   Horst

                  1. Hallo Horst.

                    Was sollten denn die Logfiles aussagen, wenn das PHP Script offensichtlich den HMTL Code richtig erzeugt hat.

                    Wenn der Verweis auf eine nichtexistente Datei zeigt, gibts eine Fehlermeldung bzw. eine entsprechende "Nummer". Daraus kann man Schlußfolgerungen ziehen.

                    Nö. Warum sollte PHP erkennen worum es sich da handelt, was es als String ausgibt.

                    Wer sprach von PHP?

                    Das Beispiel war in etwa so:

                    echo "<a href='blalbal.html'>blabla</a>';

                    Ausgabe:
                    <a href='blalbal.html'>blabla</a>

                    Warum sollte jetz im Logfile vom Webserver irgendwo stehen, dass es den Link nicht gibt?

                    Weil der Webserver die angeforderte, nicht existente Resource nicht finden konnte und daraufhin im Normalfall einen 404-Logeintrag anlegt.

                    Einen schönen Donnerstag noch.

                    Gruß, Ashura

                    --
                    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                    30 Days to becoming an Opera8 Lover -- Firefox tools for Opera built-ins
                    Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                    MathML fetzt
                    1. Nö. Warum sollte PHP erkennen worum es sich da handelt, was es als String ausgibt.

                      Wer sprach von PHP?

                      Das Beispiel war in etwa so:

                      echo "<a href='blalbal.html'>blabla</a>';

                      Ausgabe:
                      <a href='blalbal.html'>blabla</a>

                      Warum sollte jetz im Logfile vom Webserver irgendwo stehen, dass es den Link nicht gibt?

                      Weil der Webserver die angeforderte, nicht existente Resource nicht finden konnte und daraufhin im Normalfall einen 404-Logeintrag anlegt.

                      Aber nur, wenn die Seite vom Webserver angefordert wird.
                      Geht der Link auf file:///.... , wird der Webserver gar nicht kontaktiert => Kein Eintrag im Logfile.

                      mfg
                       Horst

                      1. Hallo Horst.

                        Aber nur, wenn die Seite vom Webserver angefordert wird.
                        Geht der Link auf file:///.... , wird der Webserver gar nicht kontaktiert => Kein Eintrag im Logfile.

                        Ja, richtig.
                        Doch in diesem Falle ist es auch sehr unwahrscheinlich, dass der PHP-Code geparst wird.

                        Einen schönen Donnerstag noch.

                        Gruß, Ashura

                        --
                        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                        30 Days to becoming an Opera8 Lover -- Firefox tools for Opera built-ins
                        Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                        MathML fetzt
  3. Hiho,

    da hat dein Firefox auch ganz Recht :) Das passende Protokoll dazu ist "file://" - also müsste dein Link richtig heißen: <a href="file://D:/...

    Das hätte man im übrigen aber auch ganz einfach selber heraus finden können indem du einfach mal testweise ne HTML Datei von deiner Festplatte im Firefox geöffnet hättest und dann geschaut hättest was dieser in der Adressleiste schreibt.

    Grüße

    Marc