CGI - Premature end of script headers

Pagina: 1
Acties:
  • 181 views sinds 30-01-2008
  • Reageer

  • bas.kb
  • Registratie: Oktober 2002
  • Laatst online: 26-08 14:30

bas.kb

BI'er :P

Topicstarter
Hallo

Ik heb een probleempje met een CGI scriptje (gedownload van scriptarchieve), en ben benieuwd wat ik verkeerd doe. Dit is de eerste keer dat ik zo'n script gebruik, en denk dat het een beginnersfout is...

Ik heb een 3 tal bestanden;
- guestbook.cgi (Bevindt zich in de CGI-BIN)
- guestbook.html (Bevindt zich in de HTTPDOCS)
- addguest.html (Bevindt zich in de HTTPDOCS)

Guestbook.cgi zet daadwerkelijk de berichtjes op de webpagina.
Guestbook.html is de (HTML) pagina waar de berichtjes komen te staan.
Addguest.html is de (HTML) pagina waar berichtjes worden ingevoerd en die Guestbook.pl aanroept.

Guestbook.html en Addguest.html lijken te werken. Alleen op het moment dat ik op de knop submit druk, en het script moet worden uitgevoerd krijg ik de 'Internal server error'.

De Chmod heb ik voor alle bestanden ingesteld op lezen, schrijven en uitvoeren.
-rwxrwxrwx 1 kortenbout psacln 11383 Oct 20 18:23 guestbook.cgi
-rwxrwxrwx 1 kortenbout psacln 845 Oct 20 17:13 addguest.html
-rwxrwxrwx 1 kortenbout psacln 398 Oct 20 16:58 guestbook.html

Ik heb de chmod ook al op 755 gehad, geen succes.
Ook heb ik het uploaden geprobeerd in ASCII ipv. Binary. Heb het orginele bestand bewerkt met notepad ipv Word. Voor de zekerheid het ik het orginele bestand guestbook.pl veranderd naar guestbook.cgi.
Als ik bij mijn addguest pagina het verplichte veld niet invul geeft het script wel een foutmelding, de links zijn dus oke.

In het appache error logbestand staat de onderstaande foutmelding:
[Sun Oct 20 20:15:57 2002] [error] [client 62.163.237.***] Premature end of script headers: /usr/local/psa/home/vhosts/kortenbout.com/cgi-bin/guestbook.cgi.

Ik heb natuuuurlijk de GoT search gebruikt, google helemaal uitgepluist, maar ik krijg het niet voor elkaar.

Heeft iemand nog suggesties? Is het de bedoeling dat ik het script in deze post verwerk? Het is nl best lang 8)7

Gr. Bastiaan.

  • KnEuTeR
  • Registratie: Mei 2000
  • Laatst online: 24-02-2024

KnEuTeR

iedereen heeft een handelsmerk

laat maar perl hoef je niet te compilen |:(

Computers ain't that smart, Whatever man built could be taken apart


Verwijderd

-rwxrwxrwx 1 kortenbout psacln 11383 Oct 20 18:23 guestbook.cgi
-rwxrwxrwx 1 kortenbout psacln 845 Oct 20 17:13 addguest.html
-rwxrwxrwx 1 kortenbout psacln 398 Oct 20 16:58 guestbook.html

addguest.html hoeft alleen de rechten: 644 te hebben en je .cgi file 755. en guestbook.html 666, maargoed afgezien daarvan:
doet het script .cgi het dus wel als je veld niet goed invuld. (weet je 100% zeker dat het script wel die foutmelding geeft en dat het script wordt uitgevoerd?)

Maargoed laten we er vanuit gaan dat het script dus wel wordt uitgevoerd en het alleen niet doet als je alle verplichte velden invoert (wanneer het dus accoord is en hij iets moet uitvoeren en teruggeven)

Dan zit het probleem dus kennelijk in dat gedeelte van het script :) Dus kijk daar eens wat er gebeurd.

Print je wel een juiste content-type header? is je perl file in asci geupload?
heeft je directory waar de files in staan misschien niet je juiste rechten?

  • bas.kb
  • Registratie: Oktober 2002
  • Laatst online: 26-08 14:30

bas.kb

BI'er :P

Topicstarter
Ik ben nu ff op m'n werk, maar als ik vanaaf thuiskom zal ik als eerste de chmod aanpassen. Bolle kans dat dat het probleem is.
En ja, ik weet zeker dat het script de foutmelding geeft. Ook heb ik het upgeload in ACSII ipv. Binary.

Bas

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

bas.kb:
Bolle kans dat dat het probleem is.

s/Bolle/Weinig/

Gebruik je suexec? Check dan ook daar even de logs van. Dan kan het nl. zijn dat de ownerships van de bestanden niet goed is, afgezien van de flags.

Verder moet je even checken of de cgi bestanden wel de juiste headers aan de client geven. Denk in Perl bijvoorbeeld aan
print "Content-type: text/html\n\n";
oid.

Die 2 newlines zijn ook belangrijk.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Juup
  • Registratie: Februari 2000
  • Niet online
bas.kb schreef op 20 oktober 2002 @ 23:00:
(gedownload van scriptarchieve)
Welk scriptarchive? Toch niet die van Matt? Tip: gebruik alleen scripts van nms. Die zijn VEEL secure-der dan anderen.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 21:47

odysseus

Debian GNU/Linux Sid

Kun je dat script eens met 'perl -Wc mijncgiscript.cgi' draaien? Bij fouten in het script zou je dan wel iets moeten zien. Ik gok dat je nog ergens variabelen goed moet zetten of zo voor je het script kunt gebruiken :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • bas.kb
  • Registratie: Oktober 2002
  • Laatst online: 26-08 14:30

bas.kb

BI'er :P

Topicstarter
He Jaap, ik wilde de URL niet posten, maar het is idd een script van Matt.
Woeitje, ik heb de chmods aangepast, maar dit loste het probleem helaas niet op.
Drm, ik kom in het script idd "Content type: text/html\n\n" tegen.
Odysseus, ik heb de variablen die aangepast die volgens de help aangepast moesten worden, nl:
$guestbookurl = "http://www.kortenbout.com/guestbook.html";
$guestbookreal = "guestbook.html";
$guestlog = "http://kortenbout.com/guestlog.html";
$cgiurl = "http://www.kortenbout.com/cgi-bin/guestbook.cgi";
$date_command = "/usr/bin/date";

Ik heb van mijn host een altanatief script toegestuurd gekregen, geschreven door Lars Ellingsen. Iemand hier goede ervaringen mee? Ik zal ook die van nms bekijken.

Bedankt allemaal! Bas

Verwijderd

Odysseus, ik heb de variablen die aangepast die volgens de help aangepast moesten worden, nl:
En de locatie van perl achter de shebang (#!) op de eerste regel, klopte die... Die moest je waarschijnlijk ook aanpassen.
Pagina: 1