站長資訊網
        最全最豐富的資訊網站

        用什么保護php代碼安全?screw plus可以!

        https://github.com/del-xiong/screw-plus

        http://git.oschina.net/splot/php-screw-plus

        screw plus是一個開源的php擴展,作用是對php文件進行加密,網絡上提供php加密的服務很多,但大多都只是混淆級別的加密,被人拿到加密文件問只要有足夠耐心就能破解,與之不同的是,screw plus采用擴展來加解密,而且是全球金融業流行的高強度AES256加密,除非破解了服務器,否則黑客拿到了加密文件也只是一堆亂碼。

        同一個加密級別的有ioncube和官方的zend guard,但這兩款都是收費的,一年至少數千元的費用并不值得普通開發者去嘗試,而使用screw plus,你不需要多花一分錢。

        下面以LNMP一鍵安裝環境為例演示下screw plus的配置

        首先克隆一份代碼到服務器

        git clone https://git.oschina.net/splot/php-screw-plus.git

        進入項目目錄,然后執行php的phpize文件,phpize是官方提供的可執行文件用于動態生成擴展開發環境,一般在php的bin目錄下可以找到。lnmp的phpize在/usr/local/php/bin/phpize

        /usr/local/php/bin/phpize

        Configuring for:

        PHP Api Version: 20100412

        Zend Module Api No: 20100525

        Zend Extension Api No: 220100525

        執行成功后可以看到當前的php api版本,擴展api版本等。下一步就可以開始配置了。配置命令為 ./configure –with-php-config=[php-config], [php-config]一般也在php的bin目錄下,寫絕對路徑就可以了。

        ./configure –with-php-config=/usr/local/php/bin/php-config

        如果沒報錯,說明配置成功了,可以開始下一步編譯了。

        編譯之前,我們可以修改加密的key,打開php_screw_plus.h可以看到開頭就是 #define CAKEY "…" ,把里面的值改為一個足夠復雜的key,最好16位以上,比如:9mqss6q7WsBpTMOZ

        vi php_screw_plus.h

        修改完畢之后,直接開始編譯,執行make命令,如果最后顯示Build complete.說明編譯成功,擴展在modules里面,如果報錯請根據提示進行修復,然后make clean之后重新編譯。

        make

        Build complete.

        上面我們編譯的是解密程序,而加密程序也需要我們手動編譯一下,進入tools目錄執行make命令即可。如果沒有報錯,則擴展就全部編譯完成了。

        cd tools/

        make

        然后需要把擴展的路徑加入到php.ini中,你可以把modules/php_screw_plus.so復制到php擴展目錄也可以直接在ini中加入絕對路徑,我一般傾向于絕對路徑這樣修改編譯了擴展也不需要重新復制過去。

        vi php/etc/php.ini

        加入絕對路徑例如

        extension=/home/php_screw_plus-1.0/modules/php_screw_plus.so

        然后重啟php服務 這時可以放個php文件輸出phpinfo信息,如果看到以下提示說明擴展生效了。

        用什么保護php代碼安全?screw plus可以!

        下面還有最后一步,加密程序。

        在擴展的tools目錄,執行./screw [路徑],[路徑]可以是單個文件也可以是文件夾,然后就可以實現加密了。

        用什么保護php代碼安全?screw plus可以!

        加密完成后查看源碼,可以發現除了開頭的幾個英文字符外,其余的都成了亂碼。

        用什么保護php代碼安全?screw plus可以!

        但是打開網站,php運行正常,如同沒有加密一樣。經過測試,解密速度大約為100M每秒,對php自身的性能損失非常小,一般不到20毫秒。

        screw plus還有個功能,可阻止執行未經許可的php文件,這樣黑客就算上傳了代碼也然并卵。

        同樣在php_screw_plus.h里修改,把STRICT_MODE后面的值改為1,然后make clean && make重新編譯并重啟php,然后打開之前加過密的網站,執行正常,但是我們隨意上傳個明文的php文件,結果是一片空白。

        原因是未加密的php文件頭部不包含識別key,擴展會返回空內容,就算黑客獲取了key并加入也沒用,內容會被解密成亂碼仍然無法執行。經過screw plus的保護,即使網站整站被下載或被上傳了惡意代碼,也無法對網站造成損失。

        推薦學習:《PHP視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产成人久久精品二区三区| 亚洲精品第一国产综合境外资源| 欧美成人精品一区二区综合| 中文精品久久久久人妻不卡| 人人妻人人澡人人爽欧美精品| 亚洲精品高清视频| 精品一区二区三区免费毛片爱| 综合精品欧美日韩国产在线| 亚洲精品色午夜无码专区日韩| 国产精品视频一区二区三区无码 | 久久夜色精品国产噜噜亚洲AV| 精品久久综合1区2区3区激情| 亚洲精品一二区| 99re这里只有精品热久久| 日韩精品无码一区二区三区免费 | 国产乱人伦偷精品视频不卡| 麻豆精品成人免费国产片| 99久久99久久久精品齐齐| 久久久久久久久无码精品亚洲日韩| 欧美精品在线免费| 精品视频久久久久| 国产欧美精品一区二区三区四区 | 日本午夜精品理论片A级APP发布| 国产精品美女久久久久AV福利| 国内精品久久久久久野外| jizzjizz国产精品久久| 免费精品无码AV片在线观看| 无码精品一区二区三区在线| 无码日韩精品一区二区人妻| 欧美成人精品高清视频在线观看 | 99久久人妻无码精品系列| 经典国产乱子伦精品视频| 无码人妻精品中文字幕| 亚洲欧美精品丝袜一区二区| 日韩午夜高清福利片在线观看欧美亚洲精品suv | 国内精品久久久久久麻豆| 国产精品 猎奇 另类视频| 国产精品综合专区中文字幕免费播放| 国产亚洲精品激情都市| 欧美成人精品第一区二区| 亚洲中文久久精品无码|