>> Edit article
이름
제목
패스워드
일반 사용자 계정에서 cgi 실행이 가능하도록 세팅은 되어있는 상태입니다 물론 다른 cgi 파일은 잘 실행됩니다... 단지 이 프로그램 만이 Internal Server Error 가 나는데요 환장하겠습니다 제 생각에는 아파치 설정보다는 프로그램 상의 오류가 있는거 같은데 잘 모르겠네요... 그리고 에러 로그를 보면 다음과 같은 에러가 납니다 Premature end of script headers: /export/home/kkk/public_html/cgi-bin/guestbook.cgi 소스는 다음과 같습니다... #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "cgiutil.h" #define TRUE 1 #define FALSE 0 #define BUFSIZE 1024 #define MAX_ENTRIES 10000 int embedSSI(char *str); typedef struct { char *name; char *value; } ENTRY; /* 문자열 str안에 SSI 구문이 포함돼 있는지 체크 */ int embedSSI(char *str) { if(strstr(str, "<!--#")) return(TRUE); else return(FALSE); } /* SSI가 문자열 안에 포함돼 있을 경우 출력해주는 에러 메시지 */ void ssiErrMsg() { printf("<CENTER>"); printf("<H1>SSI 문장이 포함돼 있습니다.</H1><BR><HR>"); printf("<H3><BLINK>등록을 취소합니다.</BLINK><BR><BR>"); back(); } int main() { int i; int cl; char buf[BUFSIZ]; time_t Ourtime; FILE *fp; ENTRY entVal[MAX_ENTRIES]; if((fp = fopen("../gbook.html", "a")) != NULL) { printf("Content-type: text/html"); if(!strcmp(getenv("CONTENT_TYPE"), "application/x-www-form-urlencoded")) { cl = atoi(getenv("CONTENT_LENGTH")); for(i = 0; cl && (!feof(stdin)); i++) { entVal[i].value = fmakeword(stdin, '&', &cl); plustospace(entVal[i].value); unescape_url(entVal[i].value); entVal[i].name = makeword(entVal[i].value, '='); if(embedSSI(entVal[i].value)) { ssiErrMsg(); exit(-1); } } Ourtime = time(NULL); /* 이름과 E-Mail 주소 입력 */ sprintf(buf, "<A HREF="mailto:%s">%s</A>", entVal[1].value, entVal[0].value); fputs(buf, fp); /* 전화번호 */ sprintf(buf, " (%s)<BR><BR>", entVal[2].value); fputs(buf, fp); sprintf(buf, "%s<BR><HR>", entVal[3].value); fputs(buf, fp); fclose(fp); printf("<H1 ALIGN=center><BLINK>방명록을 작성해 주셔서 감사드립니다. </H1></BLINK><BR>"); printf("<CENTER>"); printf("<FONT SIZE=+1><A HREF="//">홈페이지</A></FONT> "); printf("<FONT SIZE=+1><A HREF="gbook.html/">방명록보기</A></FONT>"); printf("<BR><HR>"); /* 자바스크립트로 만든 Back */ back(); printf("</CENTER>"); } } return 0; }
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved