這次我們來說如何禁止php代碼中執(zhí)行eval函數(shù),本來以為直接修改php.ini中的disable_function即可~
但現(xiàn)實往往并不是那么如意,查了一下GG,發(fā)現(xiàn)原來eval并非函數(shù),而是php底層提供的一種特性。
幸好有前輩提供了php擴展來禁用萬惡的eval: suhosin
一開始發(fā)現(xiàn)是需要給php打補丁,我是拒絕的,但確實沒有找到更好的方法。不過實際安裝下來,真的很方便:
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl cd /usr/local/src wget http://download.suhosin.org/suhosin-對應(yīng)的版本.tgz tar zxvf suhosin-對應(yīng)的版本.tgz cd suhosin-對應(yīng)的版本 /usr/bin/phpize ./configure --with-php-config=/usr/bin/php-config make make install
編譯完后會提示你庫文件的位置,例如: /usr/lib64/php/modules
我們只需要在php.ini中增加對應(yīng)的擴展即可:
extension=/usr/lib64/php/modules/suhosin.so suhosin.executor.disable_eval=On
重啟php-fpm
進程后,就可以在phpinfo中看到suhosin擴展已經(jīng)裝好了~
仔細(xì)看增加的配置項,其實很多控制的點,得慢慢研究啊~
總結(jié)
以上所述是小編給大家介紹的php5.x禁用eval的操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
標(biāo)簽:安康 綏化 呼倫貝爾 溫州 紹興 清遠 金華 萊蕪
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php5.x禁用eval的操作方法》,本文關(guān)鍵詞 php5.x,禁用,eval,的,操作,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。