Alexander Foken: Apache: .exe CGI-Script unter Windows

Beitrag lesen

Moin Moin !

Zusatzfrage zum Posting von CS: Hat der User, unter dem der Apache läuft (das ist nicht unbedingt Dein Account!), das Recht, die EXE-Dateien auszuführen?

Läuft unter "System". Hm, ich kenne mich mit der Windows-
Rechtevergabe kaum aus, aber SYSTEM sollte doch auf alles Zugriff
haben, oder?

Irgendwie manchmal ja, manchmal nein ...
So ganz habe ich das auch noch nicht verstanden.

Probier mal aus, die EXE aus einem Perl-Script heraus aufzurufen, das vom Apachen gestartet wird:

#!perl
system "D:\path\to\simplecgi.exe";

oder

#!perl
use CGI::Carp qw(fatalsToBrowser);
open PIPE,"D:\path\to\simplecgi.exe|" or die $!;
print while <PIPE>;
close PIPE;

oder

#!perl
print D:\\path\\to\\simplecgi.exe;

(Alles mehr oder weniger equivalent, simplecgi.exe sollte nicht von STDIN lesen - da kommt nämlich nichts.)

simplecgi.c sieht ungefähr so aus:

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
  printf("%s","Content-type:text/plain\r\n\r\nHello World\n");
  return 0;
}

Wenn's aus Perl läuft und direkt nicht, dann hast Du "ein echtes Problem"(TM) ;-)

Oh ja, und benutze keine auf .EXE endende URL im IE, das Theater mit IE und MIME Types solltest Du ja kennen. Workaround für IE: Als URL http://localhost/cgi-bin/simplecgi.exe/stupidIE.txt benutzen.

Alexander

--
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".