2012-11-02 1 views
-3

HTML과 CGI를 공부하고 있습니다. 나는 우분투 서버에 아파치를 설치했다. 테스트 페이지를 볼 수 있기 때문에 잘 동작한다. 난은/usr/lib 디렉토리/CGI/bin 폴더에서 샘플 안녕하세요 세계 스크립트를 호출하는 새로운 웹 페이지를 넣어하지만 난 그것을 실행할 때이 오류 얻을 :는/usr/lib 디렉토리/cgi-에 대한/usr/lib/cgi-bin/폴더 스크립트는/var/www에서 액세스 할 수 없습니다.

Not Found 
The requested URL /usr/lib/cgi-bin/save_file.py was not found on this server. 

액세스 권한을 bin은 모두 root : root로 설정되며 스크립트의 사용 권한은 + x입니다.

enctype="multipart/form-data" action="/usr/lib/cgi-bin/save_file.py" method="post" 

(나는 그들이 제대로 업로드하지 않는 한 여기에서 HTML 태그를 제거해야하지만이 관련 부분) :

HTML 파일 콘텐츠 (온라인 샘플 중 하나에서 촬영) 다음과 같다

아무도 내 스크립트 - save_file.py을 찾을 수없는 이유는 무엇입니까?

답변

0

대신 action="/cgi-bin/save_file.py"을 사용하십시오.

URL의 경우 루트 (/)는 웹 서버의 루트이며 /var/www으로 설정됩니다. HTML 페이지가 루트 디렉토리에 액세스하는 것은 매우 위험 할 수 있습니다. action=/bin/rm을 허용하는 결과를 상상해보십시오.

Apache의 기본 구성이 자동으로 /cgi-bin을 가리키면 /usr/lib/cgi-bin이됩니다.

+0

안녕하세요, 귀하의 답변을위한 탱크지만 잘 작동하지 않습니다. 그러면 다음 오류가 표시됩니다. /config/cgi-bin/save_file.py에 액세스 할 수 없습니다. 그래서/usr/lib/cgi-bin 디렉토리가 아닌 현재의 테스트 웹 사이트 폴더 안에있는 파일을 찾습니다. – Nik

+0

'/ config/cgi-bin/save_file.py '은 어디에서 오는 것입니까? –

+0

액션이'cgi-bin/... '이 아닌'/ cgi-bin/...'인지 확인하십시오. –