2014-10-29 3 views
0

내 파일 업로드 기능에 파일 제한을 추가하고 싶습니다. 보안 옵션이므로 htaccess 파일로 파일을 수정하고 싶습니다.htaccess의 파일 권한

그래도 어떻게해야할지 모르겠다. 몇 시간 씩 인터넷 검색을 한 후에도. 나는 이전의 유사한 스레드에서이 코드를 발견

deny from all 
<Files ~ “^w+.(gif|jpe?g|png)$”> 
order deny,allow 
allow from all 
</Files> 

나의 이해는 단지 GIF, JPE/JPEG 및 PNG를 수 있다는 것입니다. 우리가 .txt와 .rar를 추가하고 싶다고 말하자. 나는 이것을 이렇게 넣을 수 있을까?

<Files ~ “^w+.(gif|jpe?g|png|txt|rar)$”> 

나는 정말 잃어 버릴 정도로 MIME 형식을 지정해야한다고 생각했습니다. 미리 감사드립니다.

답변

0

The Files directive은 요청의 파일 이름 부분 (마지막으로 / 이후의 부분 문자열)을 지정된 정규식 패턴과 단순히 일치 시키므로 MIME 유형이 전혀 재생되지 않습니다. 그래서 예, 당신은 그곳에 당신이 좋아하는 어떤 패턴을 넣을 수 있습니다.

조언 단어 : 패턴 ^w+.(gif|jpe?g|png|txt|rar)$에서 점은 백 슬래시로 이스케이프해야합니다 (그렇지 않으면 '임의의 문자'를 의미 함). 또한 시작은 ^w+ 일 수 있습니다. 캐럿은 문자열 시작 앵커이므로 w +는 "임의의 영숫자 문자"이므로 캐럿을 삭제하면 일반 설정에 큰 차이가 없습니다. 또한 문서는 ~ 수정자를 사용하는 Files 지시문 대신 정규식 기반 파일 이름 일치에 대한 FilesMatch 지시문을 제안합니다.

정말 첫 번째 문장을 이해하지 못하는, 그런 말로 미루어 보아 :

내 파일 업로드 기능이 모든 물건을 다운로드에 관한 것입니다

에 파일 제한을 추가하고 싶습니다. 즉, 서버가 요청에 보내는 응답을 수정합니다. Apache의 관점에서 볼 때 업로딩은 거대한 POST 요청이며 인코딩 된 데이터가 포함되어 있습니다. POST 요청 (예 : 최대 크기 제한, 출처 테스트 등)을 통해 많은 작업을 수행 할 수 있지만, 많은 예제를 보려면 this tutorial을 참조하십시오. 그러나 후가공 데이터에서 전송 된 파일 유형을 결정하는 것은 실제로 불가능합니다. htaccess 만 있으면; 이 작업은 응용 프로그램 계층의 책임입니다.