Tom2: Unterschiedliches Verhalten bei ASP-Skripten

Hallo Leute

Ich habe soeben ein sehr seltsames Phänomen entdeckt, welches ich mir nicht erklären kann. Es geht um folgendes: Ich arbeite an einem ASP-Skript (VBSkript), welches die Existenz mehrerer Dateien prüft und diese an den Client sendet. In meinem IE, Version 6.0, funktioniert dies tadellos. Rufe ich dasselbe Skript jedoch in meinem Royal Oak (Firefox 0.8) auf, dann findet das Skript keine einzige Datei mehr. Woran könnte das liegen?

Ich konnte das Problem noch etwas einschränken. Die Daten, die das Skript verwendet, liegen auf einem Share (freigegebenen Ordner), der an den Server angebunden ist. Versuche ich dasselbe mit Daten auf den lokalen Laufwerken des Server, dann funktioniert es mit beiden Browsern. Weder Leerzeichen im Pfad noch lange Pfade sind das Problem.

Nun noch ein paar Worte zum Code. Die Verzweigung zwischen dem Weg, der der IE wählt und demjenigen des Firefox' findet jeweils dann statt, wenn ich die FileExists-Methode des Scripting.FileSystemObjects aufrufe. Beim IE kommt ein 'True', während Firefox auf 'False' beharrt. Aber eigentlich sollte das doch gar nichts mit dem Client zu tun haben, oder irre ich mich? Wenn ich die Überpüfung der Existenz auslasse laufe ich beim darauf folgenden Lese-Versuch in einen 'File not found'-Fehler.

Inzwischen ist es nicht mehr nur ein Skript, welches dieses Verhalten an den Tag legt, sondern deren drei.

Ich freue mich über jeden Beistand

Tom2

--
SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}
  1. Hallo,

    Nun noch ein paar Worte zum Code. Die Verzweigung zwischen dem Weg, der der IE wählt und demjenigen des Firefox' findet jeweils dann statt, wenn ich die FileExists-Methode des Scripting.FileSystemObjects aufrufe. Beim IE kommt ein 'True', während Firefox auf 'False' beharrt. Aber eigentlich sollte das doch gar nichts mit dem Client zu tun haben, oder irre ich mich? Wenn ich die Überpüfung der Existenz auslasse laufe ich beim darauf folgenden Lese-Versuch in einen 'File not found'-Fehler.

    Das dürfte IMO daran liegen, dass IE sich mittels NTLM direkt an
    den Webserver anmeldet. Dein Skript läuft dann nicht mehr unter
    IUSR, sondern unter deinem Benutzeraccount. Und _der_ wiederum hat
    Rechte, auf das Netzlaufwerk zuzugreifen.

    Firefox kennt NTLM ja gar nicht. Da BASIC Authentifizierung wohl
    nicht aktiviert ist, kann der sich auch nicht anmelden (mit welchen
    Daten auch :). D.h. dein Skript läuft unter IUSR_machinename. Und
    somit hat das Skript (eigentlich der gesamte IIS) keine Rechte, ins
    Netzwerk zu gehen. Das zu ändern ist auch nicht wirklich einfach
    (außer es nicht mit dem anonymen Benutzer laufen zu lassen).

    Schalt mal im IE in allen Sicherheitszonen die "Autom. Anmeldung"
    (Intranet, ...) aus. Dann sollte der IE Zugriff auch fehlschlagen.

    Tschau, Stefan

    1. Hallo Stefan

      Das dürfte IMO daran liegen, dass IE sich mittels NTLM direkt an
      den Webserver anmeldet. Dein Skript läuft dann nicht mehr unter
      IUSR, sondern unter deinem Benutzeraccount. Und _der_ wiederum hat
      Rechte, auf das Netzlaufwerk zuzugreifen.

      Klingt logisch - die Benutzer-Authentifizierung läuft über den Widnows-Benutzernamen. Wenn ich mit dem Firefox auf die Seiten zugreifen will, muss ich mich aber mit den Windows-Daten anmelden. Ich werde mich mal mit diesem NTLM beschäftigen und der Sache nachgehen.

      Vielen Dank für deine Hilfe

      Tom2

      --
      SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
      ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}