| 여러장의 이미지 간단히 합치기 | 움직이는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 쓰면서 가장 보안에 주의해야할 부분입니다.

2011. 3. 14. 16:39
php-fpm 모듈을 올릴때

/usr/local/sbin/php-fpm start

아래와 같은 에러가 나면서 start 스트립트가 멈추지 않는 현상이 나타난다.
fpm_event_loop(), line 107: libevent: entering main loop


vi /usr/local/sbin/php-fpm 의 상단에
php_fpm_BIN=/usr/local/bin/php-cgi
php_fpm_CONF=/usr/local/etc/php-fpm.conf
;php_fpm_PID=/usr/loca/logs/php-fpm.pid
php_fpm_PID=/var/run/php-fpm.pid

과 같이 pid의 경로를 제대로된 경로로 수정해주니 잘되었따아.. 1시간삽질;;;

2011. 3. 4. 21:20
nginx에서 cgi구동시

No input file specified.

만 나올때

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

를 nginx.conf 에 추가해야한다.;;
2011. 2. 17. 19:20

lighttpd 웹서버에서 CakePHP 프레임웍 사용할때 lighttpd.conf 셋팅방법입니다.

php.ini 에

cgi.fix_pathinfo=1

추가한다.

lighttpd.conf 의 fastcgi설정에
"broken-scriptfilename" => "enable" 추가한다.

fastcgi.server = ( ".php" =>
    (( "socket" => "/tmp/php-fastcgi.socket",
        "bin-path" => "/usr/local/bin/php-cgi" ,
        "broken-scriptfilename" => "enable"
    ))
)

lighttpd.conf 의 rewrite 설정

url.rewrite = (
     "(css|files|img|js)/(.*)" => "/$1/$2",
     "^([^\?]*)(\?(.+))?$" => "/index.php?url=$1&$3",
)


lighttpd를 재가동합니다.

 

2011. 2. 9. 10:33

모든 php파일에 include를 추가하지 않고, 자동으로 최상단에
특정 php파일을 include한 효과를 줄 수 있습니다.

php.ini 에

auto_prepend_file = /home/httpd/html/include/auto.php

와 같이 추가해주면 됩니다.

아파치에서는 더욱 유연하게 설정됩니다.

httpd.conf 에
php_value auto_prepend_file = /home/httpd/include/auto.php
와 같이 기술하면 되며,
특정 Directory 만 적용한다면 <Directory> 안에 기술하면 되겠네요.ㅎ


nginx 에서는 아래와 같이 적용합니다.

fastcgi_param  PHP_VALUE "auto_prepend_file=/home/httpd/include/auto.php"


 아쉽게도 저는 lighttpd 를 좋아하는데.  lighttpd.conf에는 지원되지 않네요