2012-04-17 60 views
1

我有一個PHP腳本的一部分進行加密, 例如如何在PHP腳本

<?php 
$name="Alfred"; 
echo $name; 
?> 

我用下面的腳本進行加密,(由www.rightscripts.com/phpencode/index.php)

<?php 
eval(gzinflate(str_rot13(base64_decode('encrypted code')))); 
?> 

但它只打印「$ name =」Alfred「;」和「Undefined variable $ name」。 問題是什麼?還有其他解決方案嗎?請幫幫我 ?

+0

您忘記了$ name =「Alfred」的變量 – Serdalis 2012-04-17 06:24:57

+0

添加了Var,但結果相同 – Alfred 2012-04-17 06:27:18

+3

您不需要將「var」放在php man上。 – SuperNoob 2012-04-17 06:33:59

回答

3

「編碼」這種方式並不能真正保護你免受任何傷害。

編碼的PHP代碼位於服務器上,解碼代碼返回到常規PHP也是如此。

如果某人有足夠的權限訪問您的服務器以便他們可以讀取您編碼的PHP腳本,那麼幾乎可以肯定他們也有足夠的權限來讀取解碼器腳本。這意味着你的代碼根本就沒有受到保護。

有一些混淆器和編碼器可以做你想做的事情,但是在一天結束時,你真正對你的代碼做的所有事情都在減慢它的速度(eval()是一個主要的性能殺手,從其他問題)。

更好的解決方案可能是編譯你的代碼。有一個PHP compiler called HipHop這將爲你做的伎倆。值得一試。

即使編譯代碼(使用任何語言),仍然有可能讓某個人決定拆開它並學習你的祕密,但它比一個簡單的編碼腳本困難得多,而且它應該運行編譯時比正常速度更快,而編碼時比正常情況下慢,所以你贏得雙方。

+0

+1右點。 – Wh1T3h4Ck5 2012-04-18 01:36:03

+0

感謝您的好消息。 – Alfred 2012-04-18 09:19:57