2012-11-24 3 views
0

사용자가 업로드 할 수있는 서비스가 있습니다. 코드 실행 및 다른 장애가 있지만 실행중인 업로드 .htaccess 파일을 막을 수있는 방법을 찾을 수 없습니다.하위 디렉토리 내의 .htaccess 파일이 실행되지 않도록합니다.

+0

은 PHP로 코딩 된 업로드 스크립트입니까? – Dale

+0

htaccess 파일이 실행되지 않습니다. 이 파일은 서버가 영구적으로 읽는 규칙 집합을 가진 수동 파일입니다. 그래서, 당신은 그들의 실행을 막을 수 없습니다. 하지만 업로드하지 못하게해야합니다. –

+0

@FelipeAlamedaA 실제로 "쓸모 없게"만들 수 있습니다. 내 대답을보십시오 –

답변

0

항상 사용자가 업로드 한 파일의 이름을 변경하십시오. 그렇게하지 않으면 사용자가 쉽게 hack.php을 업로드 한 다음 사이트를 해킹하거나 악용 할 수 있습니다. 그래서 이것은 사실 당신의 문제입니다.

업로드 후 파일의 이름을 변경하십시오. 원본 이름 (예 : 크기, MIME 유형 등)을 데이터베이스에 저장하고 원본 파일 이름을 DB에서 가져 와서 적절한 헤더를 만든 다음 해당 파일 내용을 file()의 내용으로 사용자에게 보냅니다. 그러면 서버에서 파일을 실행할 수 없게됩니다.

.htaccess과 관련된 문제 (또는 그럴 수 있다고 말하기는 어렵습니다). 그러면 특정 디렉토리에서 .htaccess를 무시하도록 아파치를 구성 할 수 있습니다. 시스템에 루트 권한이 필요하지만 호스트 구성에 <Directory FOLDER> 블록을 추가하고 AllowOverride None을 넣을 수 있습니다.

업로드시 대상 파일 이름을 확인하고 .htaccess.htpassword을 거부하십시오. 또는 이름이 .로 시작하는 것

+0

PHP 및 기타 정상적으로 실행되는 파일의 실행이 허용되지 않습니다. 나는 .htaccess 파일을 아파치가 검사하지 못하게하는 방법에 대해서 궁금 할 뿐이다. –

+0

예, 특정 디렉토리에서 .htaccess를 무시하도록 apache를 구성 할 수 있습니다. 시스템에 루트 권한이 필요하고,''블록을 추가하고 AllowOverride None을 그 안에 넣는다. –

+0

루트 디렉토리에있는 것 외에 .htaccess를 모두 무시하도록 말할 수 있습니까? –

관련 문제