Just nu i M3-nätverket
Gå till innehåll

CGI-inställningar under RedHat, Apache?


Wille Faler

Rekommendera Poster

Jag har lite problem med mina CGI-skript i Perl, när jag ska ha med http-headers först i mina skript så skrivs de ut på sidan istället för att vara dolda.

ex.:

print "Set-Cookie: NAME=$cid\n";

print "Content-type:text/html\n\n";

Har jag missat någon inställning i Apache för att hantera dessa headers?

Vad kan det vara?

Vore mycket tacksam för hjälp.

Länk till kommentar
Dela på andra webbplatser

Finns säkerligen inställningar som gör att Apache slänger dit en Content-type automatiskt, men det är ingenting som skall vara satt från början (inte på någon version av Apache jag kört i.a.f.).

 

Hur ser resten av ditt script ut? Använder du t.ex. CGI.pm och någon av dess funktioner innan dessa rader. Har du möjlighet att lägga upp ett script så man kan kolla (under förutsättning att servern är åtkomlig utifrån då). Lite knappt med information tycker jag.

Länk till kommentar
Dela på andra webbplatser

Här är skriptet i sin helhet, inte långt, bara ett testskript.

 

#!/usr/bin/perl

 

use CGI;

srand(time);

 

$cid = int(rand(1000000));

 

print "Set-Cookie: NAME=$cid\n";

print "Content-type:text/html\n\n";

 

print <<EndOfHTML;

<html><head><title>Welcome</title></head>

<body>

<h2>Welcome!</h2>

Your cookie is $cid.<p>

</body></html>

EndOfHTML

Länk till kommentar
Dela på andra webbplatser

> use CGI;

 

Varför laddar du CGI-modulen när du sedan inte använder den? :)

 

Scriptet fungerar för mig i.a.f. Har du tillgång till konfig.-filerna till Apache så att du kan kolla om där finns något misstänkt? Som sagt mycket troligt att det går att få Apache att spotta ut en Content-type automatiskt, men det är i.a.f. ingenting som är aktiverat från början vad jag vet.

 

Vad händer om du använder telnet för att ansluta till Apache. Får du Content-type: text/html två gånger då?

 

(Byt ut "localhost" till serverns adress om den inte körs lokalt)

 

telnet localhost 80

 

GET /cgi-bin/filnamn.pl HTTP/1.0

 

[skall vara en tomrad efter "GET ..."]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...