>> Read Reply from No. 0 article  
RE: RE: 말씀하신데로 하니깐 되긴하는데..

등록 2001-01-28 17:02:00     조회 1
이름 누노    

		아파치 설정은 문제가 없었구요
파일의 소유권을 nobody 로 바꾸었더니 되드라구요
근데 꼭 소유권을 이렇게 바꾸어야만 하나요?
그냥 파일을 생성하면서 여는것은 안되나요?
그리고 또 한가지는요..
gbook.html 을 열었을때 처음에는 내용이 보이는데 두번째 부터는
새로 넣은 내용은 보이질 않구요 새로고침 을 하면 보입니다
왜 그런지요?
   : 소스는 자세히는 안봤습니다만
: 대충 무엇이 문제인지 감은 잡힙니다
: 우선
: gcc -Wall 옵션을 붙여 컴파일 해보신후
: 코딩이 정확한지 체크하신후
: 그래도 안되신다면  httpd.conf 설정 파일중
: [↙Directory ↙]
:    Option ExecCGI
:  .....
: (적수보드에서 특수 문자를 필터링해서 위와같이 표현)
: 이부분에 ExecCGI 를 추가해보시고 (보안상 문제는 있지만)
: 그래도 안된다면 파일 권한을 확인해보세요
:
: 일반적으로 디렉토리에 파일을 쓰지 못하는경우
: 문제가 발생합니다.
: 웹서버가 nobody로 돌아가고 있다면
:
: chown nobody.nobody gbook.html
:
: 이런식으로 gbook.html 파일을 소유권을 바꿔보시길 바랍니다.
:
:
: : 일반 사용자 계정에서 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, "&nbsp;&nbsp;(%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>&nbsp;&nbsp;");
: :             printf("<FONT SIZE=+1><A HREF="gbook.html/">방명록보기</A></FONT>");
: :             printf("<BR><HR>");
: :
: :             /* 자바스크립트로 만든 Back */
: :             back();
: :             printf("</CENTER>");
: :         }
: :     }
: :   
: :     return 0;
: : }
:
: --
: -?
이름
암호


>> 관련글
  답장 RE: c 로 만든 cgi 에러 ...제발..환장합니다..소스올립니다  aurora  2001.01.28  ....
  답장 RE: RE: 말씀하신데로 하니깐 되긴하는데..  누노  2001.01.28  ....
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.84 초 ] 작업시간: [ 0.13 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1789642215
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.