如何給php代碼加密
<?php
functionencode_file_contents($filename){
$type=strtolower(substr(strrchr($filename,'.'),1));
if('php'==$type&&is_file($filename)&&is_writable($filename)){//如果是PHP文件並且可寫則進行壓縮編碼
$contents=file_get_contents($filename);//判斷文件是否已經被編碼處理
$contents=php_strip_whitespace($filename);
//去除PHP頭部和尾部標識
$headerPos=strpos($contents,'<?php');
$footerPos=strrpos($contents,'?>');
$contents=substr($contents,$headerPos+5,$footerPos-$headerPos);
$encode=base64_encode(gzdeflate($contents));//開始編碼
$encode='<?php'." eval(gzinflate(base64_decode("."'".$encode."'"."))); ?>";
returnfile_put_contents($filename,$encode);
}
returnfalse;
}
//調用函數
$filename='dam.php';
encode_file_contents($filename);
echo"OK,加密完成!"
?>
⑵ php文件加密,用什麼方法加密的
php代碼加密通常採用的都是zend加密
如果你想運行加密的網站程序,可以使用純綠色集成環境phpwamp8.1.8.8,裡面默認自帶php7等6個版本,基本都集成了解密組件,完美運行各加密程序,phpwamp還支持自定義設置php版本,官方提供700個php版本隨你切換。
⑶ 怎樣給PHP源代碼加密
樓上說的有點道理,只要是計算機方面加密,都有破解的可能。雖然如此,但是如果破解的成本超過目標本身的成本,我們就可以說無法破解,比如用PHP代碼加密工具 Xend 給PHP加密,就是這樣,這款加密軟體就是採用的不可逆的演算法混淆+加密+自定義方式處理的。
⑷ 如何給php代碼加密
前台加密
後台接收到後
在和鹽值拼接
在加密
存入資料庫
我用md5舉例
前台:md5(pwd);
//前台找一個js加密擴展就行
後台:
$salt
=
mt_rand(100000,999999);
//隨機鹽值
$pwd
=
md5($_GET('pwd').$salt);
//這樣雙重加密後入庫了
登錄驗證時
前台也記得加密哦
⑸ php7代碼如何加密
我們先寫出函數:
<?php
function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,'.'),1));
if ('php' == $type && is_file($filename) && is_writable($filename)) { //
如果是PHP文件 並且可寫 則進行壓縮編碼
$contents = file_get_contents($filename); // 判斷文件是否已經被編碼處
理
$contents = php_strip_whitespace($filename);
// 去除PHP頭部和尾部標識
$headerPos = strpos($contents,'<?php');
$footerPos = strrpos($contents,'?>');
$contents = substr($contents, $headerPos + 5, $footerPos -
$headerPos);
$encode = base64_encode(gzdeflate($contents)); // 開始編碼
$encode = '<?php'." eval(gzinflate(base64_decode("."'".
$encode."'"."))); ?>";
return file_put_contents($filename, $encode);
}
return false;
}
調用此函數:
$filename = 'result1.php';
encode_file_contents($filename);
echo "OK,加密完成!";
?>
3
測試是否加密成功:文件名為result1.php,運行代碼
4
運行成功。
⑹ 怎麼對PHP文件加密 - 技術問答
php的所有加密,都需要對應解密的,這個是php語言(解釋語言)特性決定的。你可以考慮使用eaccelerator進行加密,這個有加密跟加速的功能,使用方式google一下就出來了
⑺ 如何給編寫的PHP程序加密
你可以去下載一個
SourceCop for PHP
是一款 Windows 平台應用程序,你可以使用它加密你的 PHP 源代碼
另外,你也可以限制加密後的 PHP 腳本代碼運行於指定的 IP 或設定腳本代碼的到期時限。
程序特徵
* 獨特和非常簡單的程序界面
* 加密你的 PHP 源代碼
* 不需要安裝在伺服器上
* 方案非常容易操作
* 原始代碼備份選項
* 單擊進行加密
* 加密後的腳本代碼可以運行於任何平台和 PHP 的大部分版本
其實PHP沒必要加密 加密怎麼都會對你程序有影響
⑻ php代碼怎麼加密最好,不能破解的那種
無論怎麼混淆,它最終都是靠執行eval來運行其代碼的。
所以我們只要在php中載入runkit擴展,啟用runkit.internal_override選項,然後另寫一個php文件來rename掉eval,然後自己實現一個function eval($code) {echo $code;},然後include這個文件。接著只要訪問一下那個文件,這個加密的文件就會自己輸出自己解密後的代碼了。
http://php.net/manual/zh/function.runkit-function-rename.php
這種解密的思路稱為「通過劫持eval破解程序加密」。
⑼ php 部分源代碼加密
PHP加密必定用到伺服器擴展,不然怎麼對加密後的代碼解密呢?不依賴擴展,最多隻能用一些工具對代碼進行混淆壓縮,但這只是清除代碼格式,刪除多餘的換行和空格,將變數命替換為單字母等,並不能真正加密,經過分析後仍然能解開。
⑽ php 方面大家一般用哪些工具進行代碼加密
所謂 zend 加密,其實是預編譯
他將 php 代碼翻譯成了一種虛擬機器的指令集合(php 運行時也是這樣,但指令集不同)
所以 zend 解密,實際是反編譯
由於涉及到 php 內核機制,故不在本討論范圍之內
凡是比依賴加密環境的加密,實際都是擾碼——程序依據自身包含的演算法將自身還原成初始的代碼
這種程序最終執行的是還原後的代碼
所以你完全有可能在他運行期間,攔截到包含 還原後代碼 的字元串
由於擾碼的程序,本身是可執行的,所以還可以從語法分析入手
php 提供 token_get_all 函數,用於對 php 代碼串做詞法分析
可得到類似這樣的數組
Plain Text code? [32] => Array ( [0] => T_STRING [1] => T撾CB蜦RW仄JW豎IDFZZD蜺FBAADVAVQU頤HCF頕V厝VN游煁啙 [2] => 2 ) [33] => Array ( [0] => symbol [1] => ; [2] => 2 ) [34] => Array ( [0] => T_STRING [1] => T沃FBAEBAFAIBAQIA?腄AAHU領ABF萉A1FVB仡FB頔A庮葴 [2] => 2 )
依據他,就可對程序做出解析,從而反推出原始代碼
我使用
PHP code?1234<?php$source=file_get_contents('s.php');$tokens = token_get_all ($source ); print_r($tokens);