php5.x禁用eval
如果是我的死忠粉,你應該看得出來,這幾天我在修補公司伺服器的安全漏洞。
我並不是專家,乾的也都只是苦力活,但也要記錄一下,人老了,總忘。
這次我們來說如何禁止php程式碼中執行eval函式,本來以為直接修改php.ini中的disable_function即可~
但現實往往並不是那麼如意,查了一下GG,發現原來eval並非函式,而是php底層提供的一種特性。
幸好有前輩提供了php擴充套件來禁用萬惡的eval:ofollow,noindex">suhosin
一開始發現是需要給php打補丁,我是拒絕的,但確實沒有找到更好的方法。不過實際安裝下來,真的很方便:
yum install wgetmake gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutilspatch perl cd /usr/local/src wget http://download.suhosin.org/suhosin-對應的版本.tgz tar zxvf suhosin-對應的版本.tgz cd suhosin-對應的版本 /usr/bin/phpize ./configure--with-php-config=/usr/bin/php-config make & make install
編譯完後會提示你庫檔案的位置,例如:/usr/lib64/php/modules
我們只需要在php.ini中增加對應的擴充套件即可:
extension=/usr/lib64/php/modules/suhosin.so suhosin.executor.disable_eval=On
重啟php-fpm程序後,就可以在phpinfo中看到suhosin擴充套件已經裝好了~
仔細看增加的配置項,其實很多控制的點,得慢慢研究啊~