Kategorie: ASP Allgemein
Frage: Warum funktionieren manche ASP-Skripte, die das FSO(FileSystemObject) nutzen, auf einmal nicht mehr?
In der letzten Zeit häufen sich die Meldungen, dass einige ASP-Skripte, die vor kurzem noch
einwandfrei gelaufen sind, plötzlich nicht mehr funktionieren. Meist kommt beim Aufruf eines
solchen Skript überhaupt nichts. Keine Fehlermeldung, keine Ausgabe bis zu einem gewissen
Punkt, einfach gar nichts. Evtl. kommt irgendwann ein Timeout, aber dies auch nicht oft.

Die meisten der betroffenen Skripte haben eines gemeinsam. Sie verwenden das FSO
(FileSystemObject) und wollen lesend oder schreibend auf Dateien zugreifen.
Die betroffenen Server haben ebenfalls etwas gemeinsam. Uns zwar das Produkt "Norton AntiVirus".
Dieses Tool ist eigentlich ein Virenscanner und bietet eine Option namens "ScriptBlocking" an.
Diese Option ist standardmässig aktiviert und soll eigentlich einen Schutz vor sogenannten
Skriptviren bieten, also Viren, die auf VBScript oder JavaScript basieren. Meistens wurde
kurz vor dem erstmaligen Auftreten des Fehlers NAV neu, bzw. Update installiert.

Dieser Schutz hebelt auf einem Webserver aber die ScriptingEngine "scrrun.dll" aus. Diese DLL
beinhaltet auch das FSO. Da die Einstellungen eine Ausführung von Skripten nicht erlauben,
wird auch das Ausführen von VBScript-, bzw, JScript-Dateien blockiert. Dies kommt daher, dass
das Tool nicht zwischen Client- und Serverskript unterscheidet. Wohlgemerkt, in diesem Beitrag
geht es nur um den Webserver, nicht um einen Client. Wenn also von Clientskript die Rede ist,
ist hiermit auch die Ausführung einer vbs oder js-Datei auf dem Webserver gemeint.

Zur Zeit besteht die einzigste Möglichkeit, die Sperre des FSO ohne weitere Probleme wieder
aufzuheben, in der Deaktivierung des ScriptBlockings. Die entsprechende Checkbox muss also
leer sein.

Allerdings hilft dies leider auch nicht zu 100%. Frank Müller, ebenfalls ein MVP für Active Server Pages
hat z.B. die Erfahrung gemacht, dass das Deaktivieren des ScriptBlockings (mit anschließendem
Neustart) rein gar nichts bewirkt hat. Erst das komplette Deinstallieren von NAV und Neuinstallation
hat geholfen. Folgende Vorgehensweise hat bei Ihm zum Erfolg geführt (kein Allheilmittel ;)
- Deinstallation von Norton AntiVirus (nicht einfach drüberinstallieren)
- Neuinstallation von Norton AntiVirus
- Beim ersten Live Update die Frage, ob ScriptBlocking installiert werden soll, verneinen
- Bei späteren Live Updates diese Frage ebenfalls verneinen
Im Normalfall sollten die ASP-Seiten jetzt wieder funktionieren.

Wenn die Frage, ob ScriptBlocking installiert werden soll, einmal bejaht wurde, liefen ASP-Seiten mit
FSO Zugriff (wenn auch nur lesend) nicht mehr. Auch nicht, wenn man dann manuell ScriptBlocking
wieder deaktiviert hat. Der betroffene Rechner war ein Microsoft Windows 2000 Server mit ServicePack 2.

Eine andere Möglichkeit wäre, die Dateiendung ASP von der Prüfung auszuschliessen. Das ist
aber nicht so einfach, denn NAV erlaubt bei individueller Auswahl lediglich 25 Einträge in der
Liste der zu prüfenden Dateiendungen. Gleichzeitig wird aber derzeit auf über 150 Dateiendungen,
die potentiell gefährlich sein können und daher auch gescannt werden sollen, hingewiesen.
Daher empfiehlt der Hersteller, alle Dateiendungen überprüfen zu lassen.
Siehe: Symantec KnowledgeBase

Gelegentlich wird von Anwendern auch berichtet, dass überhaupt keine ASP-Seiten mehr ausgeführt
werden. Für dieses Problem gibt es aber weit mehr Ursachen als nur Norton AntiVirus. Daher wäre
eine pauschale Aussage hier nicht angebracht.

Copyright 2000 - 2024 by Stefan Falz Webconsulting