PHP 수호신(Suhosin) 설치
[root@lvm07 src]# wget http://download.suhosin.org/suhosin-0.9.29.tgz
[root@lvm07 src]# tar xvfz suhosin-0.9.29.tgz
[root@lvm07 src]# cd suhosin-0.9.29
[root@lvm07 suhosin-0.9.29]# /usr/local/php/bin/phpize
[root@lvm07 suhosin-0.9.29]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@lvm07 suhosin-0.9.29]# make && make install
- php.ini Suhosin 설정 추가
[root@lvm07 ~]# vi /etc/httpd/conf/php.ini (서버 설정에 따라 php.ini 경로는 다를 수 있음)
[Suhosin]
;extension_dir=/usr/lib64/php/modules/
extension=suhosin.so
[root@lvm07 ~]# /usr/local/php/bin/php -v
PHP 5.3.3 (cli) (built: Jul 9 2015 17:39:00)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Suhosin v0.9.29, Copyright (c) 2007, by SektionEins GmbH
Download
http://suhosin.org/stories/download.html
[자체추가]
php.ini에 아래와같이 설정하면 mail함수가 안됨
disable_functions = mail (서버내 전체계정에 영향을 받음)
수호신을 이용해 계정별 php 함수 제한을 걸고 싶을때에는 아래의 룰을 <VirtualHost *> </VirtualHost> 사이에 넣어주면 된다.
php_admin_value suhosin.executor.func.blacklist "함수명"
예) php_admin_value suhosin.executor.func.blacklist "mail" (mail 함수를 사용불가하게 할경우)
1개 이상의 함수를 막는경우에는
php_admin_value suhosin.executor.func.blacklist "함수명1,함수명2"