導航:首頁 > 文檔加密 > php項目加密訪問

php項目加密訪問

發布時間:2022-04-19 15:41:25

php項目給客戶的源代碼怎麼加密不希望別人做改版盜用二次開發之類的

市場上有很多,什麼IonCube、Zend Guard等,不過這個解密的話很簡單,網上很多教程。基本都是一鍵解密,而且這二種還都需要在伺服器上額外安裝相應的擴展組件,已經很少人用了。
所以最好是程序員自己對源碼進行加密,這個能讓破解者頭疼,解密的話只能靠自己的經驗,沒有統一的解密方法。但是這種加密方式一般來說自己很難操作,藉助於相應的加密軟體吧,目前也就 PHP代碼加密工具 Xend 能獨擋一面,很多保護方式都不可逆,也支持用戶自己編程加密。

② 如何給php代碼加密

前台加密
後台接收到後
在和鹽值拼接
在加密
存入資料庫
我用md5舉例
前台:md5(pwd);
//前台找一個js加密擴展就行
後台:
$salt
=
mt_rand(100000,999999);
//隨機鹽值
$pwd
=
md5($_GET('pwd').$salt);
//這樣雙重加密後入庫了
登錄驗證時
前台也記得加密哦

③ 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文件進行加密

Zend Guard是目前市面上最成熟的PHP源碼加密產品。
經過本人搜集資料,親身測試後,總結了如何利用Zend Guard對PHP文件進行加密,以及如何利用Zend Loader對加密後的PHP文件進行解密。

我使用的是Wampserver2.2,其中php的版本是5.3.10。(注意:這個裡面自帶的php版本屬於TS版本,即Thread safety線程安全)

Zend Guard的安裝及破解

點擊下載 Zend Guard5.5.0,下載完成後,請自行傻瓜式安裝。

破解需要注意以下幾點:
1、本KEY的有效時間為2010年7月10號,因此激活時,請將自己電腦的系統時間調整到這個時間之前,如:2009-01-01
2、本KEY激活的為試用版,加密過的文件只有14天有效時間,因此在加密文件時,請將自己電腦的系統時間向後調整幾年,如:2020-01-01
3、點擊下載授權文件 zend_guard授權文件.zip,解壓得到zend_guard.zl,即激活用的文件
4、打開Zend Guard 5.5.0,[Help] -> [Register] -> [Search for a license file on my disk],選擇zend_guard.zl授權文件激活即可
如何使用Zend Guard進行加密?
1、打開Zend Guard 5.5.0,[File]->[New]->[Zend Guard Project],新建項目。
彈出如下的對話框:

2、點擊 Next ,下一步。彈出如下對話框,選擇要進行加密的源文件或文件夾
本步驟是選擇要加密的文件,可以是單個文件[Add File]或整個文件夾[Add Folder],然後[Next]。
(此處,我選擇的是對整個文件夾進行加密。即 D:\wamp\www\demo 里的所有文件進行加密。)

3、接下來是選擇PHP的版本[與你web伺服器上PHP的版本相對照],這里很重要,版本不對會出錯,[Finish]完成項目的創建。
注意: 對於Zend Guard 5.5.0這個版本的加密軟體,最高只可支持5.3版本的PHP。如果您的PHP版本較高,請到Zend Guard官網下載對應的高版本加密軟體。
(由於,我的PHP版本是PHP 5.3.10,故這里我選擇PHP 5.3,其他地方可以默認,直接點擊完成)

4、在Zend Guard左側的Guard Explorer中,可以看到你新建的項目了,滑鼠選中項目名稱後,右鍵單擊[Encode Project],完成。
如此,就實現了對PHP源碼的最簡單的加密。
我們可以在產品的輸出目錄(D:\proctDir)里,看到加密後的文件。

可以看出,產品輸出目錄里的PHP文件已被加密了。

這種最簡單的加密方式,我們並沒有設置加密的有效期,也沒有設置許可證支持(即解密時,是否需要許可證文件),默認是永不過期,不需要解密許可文件。
如果要設置解密時的許可證文件,可以點擊 項目名稱(project_test) ,再點擊 項目主窗口中的 Overview 旁邊的 Security 選項卡,就可以進行更加安全的加密設置了。 如下圖:

Zend Loader 解密

上面我們已經對PHP代碼進行了最簡單的加密(編碼),加密後生成的PHP源代碼,就不能再被web伺服器上的PHP模塊解析了。
當我們將加密後的php文件放到web伺服器上執行時,會顯示如下信息:

Zend Guard Run-time support missing!
One more more files on this web site were encoded by ZendGuard and the required run-time support is not installed orproperly configured.
......

原來,加密後的php代碼需要ZendGuardLoader模塊才能正常運行。
因為我的php版本是5.3.10的,所以我這里只提供了ZendGuardLoader-php-5.3-Windows,如果是其他版本的php,請自行網路。
點擊下載 ZendGuardLoader-php-5.3-Windows
下載後,解壓壓縮包,找到目錄里的 ZendLoader.dll 文件,將它復制到你的php目錄里的ext目錄(PHP的擴展庫目錄)下,再編輯PHP的配置文件php.ini,添加如下代碼:

[Zend.loader],
zend_loader.enable=1
zend_loader.disable_licensing=1
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension="d:\wamp\bin\php\php5.3.10\ext\ZendLoader.dll"

註:
zend_loader.enable 表示是否啟用zend loader,1表示啟用,0表示禁用
zend_loader.disable_licensing 表示是否禁用許可證,1表示禁用,0表示不禁用 (由於上面我加密php文件的時候,沒有設置許可證支持,故解密時,禁用許可證)
zend_loader.obfuscation_level_support 表示代碼混淆級別
zend_loader.license_path 指定許可證文件的路徑
zend_extension 指定zend loader 擴展文件 的路徑

配置完成後,重啟wampserver,如果您的php的版本是NTS(非線程安全的話),就可以正常執行加密後的PHP文件了。
但是,多數情況下的php版本都是TS(線程安全)的,比如,我這個wampserver集成環境中的php是php-5.3.10-ts,它是沒有辦法支持Zend Guard Loader擴展文件的。故還會報出上面的錯誤提示信息。
因為,Zend Guard Loader 只能支持 NTS版本的php,終極解決辦法是下載安裝 NTS 版本的php。

為了實現PHP源文件的 Zend 解密測試,可以下載安裝 php-5.3.29-nts-Win32-VC9-x86,再來配置 Zend Loader 擴展支持。

如何查看安裝好的PHP的版本及PHP是否已經成功支持Zend Loader?

通過查看 phpinfo() 函數的輸出信息,利用 Ctrl + F 快速查找關鍵字Thread Safety 和 Zend Guard Loader。
如本人安裝好php-5.3.29-nts版本的php後,phpinfo()的輸出信息如下:

可以看到,Thread Safety 對應的值為disabled,就說明該php的版本是 NTS (非線程安全)的,否則就是TS版本的。
輸出信息中,還可以看到 Zend Guard Loader v3.3 字樣,說明 Zend Guard Loader 也安裝成功了。
再往下面看,還可以查看 Zend Guard Loader 的配置信息,如下:

到此,整個 Zend Guard 加密和 Zend Guard Loader 解密,就介紹完畢了。

溫馨提示: 為了順利實現PHP代碼的zend加密和解密,建議使用PHP官網上主流的PHP的NTS版和Zend官網上對應的Zend Guard加密軟體、 Zend Guard Loader解密插件。

相關附件:
Wampserver2.2
Zend
Guard5.5.0
php-5.3.29-nts-Win32-VC9-x86
mod_fcgid-2.3.6-win32-x86.zip

⑤ 如何給PHP網頁加密碼訪問

<?php
$pass='123456';//你設置的正確密碼
$cook_pass=isset($_COOKIE['pw'])>$_COOKIE['pw']:'';
if($cook_pass!=$pass){
$form_pass=isset($_POST['pw'])>$_POST['pw']:'';
if($form_pass==$pass){//密碼正確,保存COOKIE
set_cookie('pw',$form_pass);
}else{//密碼錯誤或者沒有密碼,顯示登錄內容
echo'<formmethod=postaction=$PHP_SELF>
密碼:<inputtype=passwdname=pw>
<inputtype=submitvalue='登錄'>
</form>';
exit;
}
}
?>
這里開始是原始頁面的代碼

⑥ 關於PHP程序加密

Fatal error: Call to undefined function zmc_*o9k_hwk_() in /home/u97942/public_html/mail.php on line 2
這個錯誤提示是沒有定義函數zmc_*o9k_hwk_,你發的代碼裡面沒有這個函數吧?是不是引用了函數,但是裡面沒有那個文件

⑦ php加密授權以及打包怎麼做

1關於PHP打包
把PHP解釋器和PHP項目打包成一個安裝包完全沒有問題的,我甚至把PHP解釋器打包到Android手機上跑都沒問題.因為PHP官方提供了Windows版本的二進制包,所以連自己編譯這一步都省了,為了精簡PHP解釋器,你可以把你不需要的擴展都刪除掉,比如intl擴展及其依賴的ICU,精簡後打包估計解釋器能小於5個MB.因為PHP內置了HTTP伺服器和SQLite資料庫,所以客戶端連Apache和MySQL也不依賴了,直接就能跑PHP項目,而且還省資源.
2.關於PHP代碼保護
PHP7的opcache支持用opcache.file_cache導出PHP腳本對應的二進制opcode,這些opcode是跟操作系統和PHP解釋器版本相關的,能起到一定的代碼保護的作用.另外,Zend
Guard和ionCube也提供了付費的PHP代碼加密服務.
3.授權
比如可以在加密過的PHP代碼里判斷$_SERVER['SERVER_NAME'],如果不是授權時綁定的域名,就直接拒絕服務.如果還有什麼不懂不明白的,你可以和我在後盾人看看教材找找答案,時間久了,就都清楚了,希望能幫到你

⑧ 下了一個php的程序,部署上之後,訪問頁面顯示被加密了,請問這是什麼加密,有什麼解決方法。

一般加密的程序就是防止用戶亂修改版權,一般解密不了。

⑨ 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頁面加密

常用的有兩種辦法,根據你的實際情況選擇
方案一:包含
---文件a.php----
<?php
define("OK", TRUE);//定義一個常量,原因請看B.PHP
if(密碼正確){
include "b.php"; //把文件b.php包含進來
exit();
}
?>
<div class="frame05"> .........html代碼略.........
------文件b.php-------
<?php
if(!defined('OK')){ //判斷定義了OK這個常量沒有。如果沒有,則表示不是通過A.PHP來訪問的
echo '私人文件,請勿擾';
header("Refresh: 1; URL=a.php");
exit();
}
//其他PHP代碼略
?>
方案二 session
文件A.PHP
<?
session_start();
if(密碼正確){
$_SESSION["ok"]=true;
header("Refresh: 1; URL=b.php");
}
?>
文件B.PHP
<?
session_start();
if(!$_SESSION["ok"]){
echo '私人文件,請勿擾';
header("Refresh: 1; URL=a.php");
exit();
}

//其他代碼略...
?>

閱讀全文

與php項目加密訪問相關的資料

熱點內容
大同app怎麼樣 瀏覽:438
php去掉特殊字元 瀏覽:387
androidapi中文合集 瀏覽:658
win7下安裝linux虛擬機 瀏覽:838
雲主機用別的伺服器嗎 瀏覽:922
黑馬買入指標源碼副圖 瀏覽:962
微軟為什麼會把伺服器放在水底 瀏覽:257
php截取字元串中文 瀏覽:21
虛擬機和編譯軟體哪個好 瀏覽:750
存儲伺服器為什麼比通用伺服器難 瀏覽:373
用php列印出前一天的時間 瀏覽:369
2010編譯方法 瀏覽:239
華為哪裡查看隱藏app 瀏覽:889
linux網卡重置 瀏覽:830
框架柱低於四米箍筋全高加密 瀏覽:694
米二如何安卓版本升級到高安卓版 瀏覽:783
安卓手機數據慢怎麼辦 瀏覽:727
雙底買賣指標公式源碼無未來函數 瀏覽:685
我的世界伺服器換電腦怎麼玩 瀏覽:215
linux內核源碼內存調優 瀏覽:789