怎么在php5.x中禁用eval?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)建站是專業(yè)的榕江網(wǎng)站建設(shè)公司,榕江接單;提供網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行榕江網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!本來以為直接修改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)裝好了~
1、執(zhí)行速度快。2、具有很好的開放性和可擴展性。3、PHP支持多種主流與非主流的數(shù)據(jù)庫。4、面向?qū)ο缶幊蹋篜HP提供了類和對象。5、版本更新速度快。6、具有豐富的功能。7、可伸縮性。8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。
關(guān)于怎么在php5.x中禁用eval問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。