| 여러장의 이미지 간단히 합치기 | 움직이는GIF만들기 | 썸네일 쉽게 만들기
분류 전체보기 (85)
I am (0)
Today (1)
개발자이야기 (11)
나만의 유용한정보 (7)
서버관련 (40)
지름신 (5)
사진/여행 (1)
끄적끄적 (5)
골프 (11)
주식 (2)

«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Visitors up to today!
Today hit, Yesterday hit
daisy rss
티스토리 가입하기!
2011. 4. 8. 17:09
사용자 업로드폴더(웹에서접근가능)나 업로드폴더가 아닌 일반 이미지폴더에
<? phpinfo() ?> 로 저장후 test.jpg를 올리게 되면
nginx는 uri 뒤에 확장자만 .php면 넘기게 되어 있기때문에 보안에 주의해야합니다.

ex) http://abc.com/images/test.jpg/xxx.php

위의 경로로 test.jpg가 구동되는것을 방지하려면,

try_files $uri $uri/ /index.php;
if (!-f $request_filename) { return 403; }

혹은

if (!-e $request_filename) { rewrite ^.*$ /index.php last; }

이렇게 구성해주면 됩니다.

통상적인 프레임워크를 쓰기위한 rewite 가 아래와 같이 구성되어 있으면
        if ($request_filename ~* ".*\.(php)$") {
                rewrite ^.*$ /index.php last;
        }
        if (!-e $request_filename) {
                rewrite ^.*$ /index.php last;
        }
상관없겠네요..

nginx 쓰면서 가장 보안에 주의해야할 부분입니다.