Christoph Schnauß: Unterdrückung cmd-Fenster (Windows-Perl) bei Aufruf von externem Program

Beitrag lesen

hallo,

Beim Aufruf über den Webserver(Browser) poppt jedoch
ganz kurz das (schwarze) CMD-Fenster auf.

Das ist beim Aufruf eines Perl-Scripts über die Konsole sehr "normal", beim Aufruf als CGI-Script jedoch mehr als ungewöhnlich, und ich habe das auch nicht nachvollziehen können, als ich dein angegebenes Script mal 1:1 in ein CGI-Script verwandelt und auf meinem lokalen System (WinXP, Apache 2.0.52) aufgerufen habe. Sehr ungewöhnlich und wahrschenlich nicht beabsichtigt ist jedoch, was ich bei einem CGI-Aufruf deines Scripts im Browser zu sehen bekomme:
#z#body#u# #z#p#u##z#h1#u#GCI with Windows Registry#z#/h1#u#1111#z#table border=1 cellpadding=5 style="line: solid blue"#u##z#tr#u##z#td#u#HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI #z#/td#u# #z#/tr#u##z#tr#u##z#td#u#HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\d344prt #z#/td#u# #z#/tr#u##z#tr#u##z#td#u#HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_105A&DEV_4D68&SUBSYS_4D68105A&REV_01 #z#/td#u# #z#/tr#u##z#tr#u##z#td#u#HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_109E&DEV_036E&SUBSYS_13EB0070&REV_11 #z#/td#u#

Da solltest du eventuell doch den Sinn deiner ganzen #-Zeichen nochmal prüfen. Fehlermeldungen im log gibts übrigens keine.

Da im spateren Verlauf die Registry rekursiv durchlaufen wird,
ergibt das beim Aufruf über den Webserver (Browser) einen
regelrechten Wald von aufblinkenden Consolen-Fenster.

Das ist auch mit deinem angegebenen Script nicht nachvollziehbar.

-- Wie kann die Anzeige des CMD-Fensters unterbunden werden ?

Indem das Script tatsächlich den Kriterien entspricht, die ein CGI-Script nun einmal erfüllen sollte.

-- Dieses Registry-Beispiel soll exemplarisch sein.

Wofür?

Da groesser und kleinerzeichen umgewandelt werden, habe ich diese ersetzt. Um den Code wieder "lesbar" zu machen, muss mit folgendem Muster ersetzt werden:
#z# <
#u# >
#s# '

Ähhhh ... ist das nicht eher etwas, wofür man sonst RegExpressions einsetzt? Würde ich jedenfalls machen. Abgesehen davon, daß ich es für extremen Leichtsinn halte, per Script jedem Besucher Einblick in die registry zu gewähren. Unter Win2k dann auch noch mit root-Rechten.

Grüße aus Berlin

Christoph S.