php加密文件上傳
php加密平台自開通以來已加密了670367個php文件,總數據大小5823.04 MB2015-04-18更新:PHP在線加密Beta版支持命名空間加密,即php源碼中有namespace的文件加密。2015-01-13維護:修復PHP5.5及以上php版本更好支持php加密(免費版已不更新,不修復)
php授權用戶動態簡化,只記錄授權變化狀態2014-12-09新增自定義授權錯誤信息提示(以前為白屏)2014-06-22新增支持heredoc和nowdoc語法結構的字元串2014-03-24修復部份代碼中使用__FILE__不兼容的BUG2013-09-02修改:php免費加密後版權信息中增加中文聲明2013-08-01新增功能:授權版可鎖定php文件加密的文件名,php文件加密後不允許更改文件名。此功能配合鎖定域名功能效果更佳。
修復:部份環境中獲取不到伺服器IP地址2013-06-20維護:常規更新維護,PHP加密代碼小調整。2013-05-12修改:重寫授權版的PHP加密演算法,提高對代碼的保護。2013-04-11調整:發現有個別用戶使用我們免費的php加密平台對php源碼加密後作為非法用途,因此把免費版對上傳的php文件大小調整為50K。2013-03-11修改:為了加強付費授權版的使用安全,把免費版和付費授權版的演算法分開處理。以後升級過程中主要針對付費授權版進行升級,免費版只做BUG修復處理。2013-02-01修改:免費版的版權信息中不再顯示內核更新日期。
修改:編碼加強混淆程度2013-01-07修改:php加密後的代碼中去除「PHPJM_」標志性字元。
新增:先對php源碼壓縮後再加密,減小加密後的php文件大小
修復:php源代碼中的php標簽只有<?而沒有?>時的BUG2012-12-11新增功能:授權版可鎖定在某個日期段內運行,可將您的代碼以試用方式進行發布。
修改:不再限制加密後的文件以.php為擴展名運行,支持以任何擴展名保存加密後的文件。
修復:自定義版權信息亂碼BUG2012-11-14PHP在線加密平台上線2012-11-06完成PHP加密核心演算法代碼。
2. 用PHP判斷上傳上來的RAR文件是否被加密
fread文件
RAR構成到Winrar目錄下找TechNote.txt
比較復雜,需要拆文件頭,大概是0x17為80就是沒加密的,加密的見過有C4,有84.(末尾都是4)
你再研究下.
===============
從文件外皮看不出是否加密的,必須拿到一點文件頭才行,不了解客戶端的程序,應該可以類似網易相冊那樣在客戶機本地就完成判斷
3. php實現文件上傳到指定文件夾,文件路徑或名字存入資料庫,如何實現啊
define(UPLOAD_ROOT,'你的上傳文件夾路徑');
function fake_random_name($string,$key){
#偽代碼 隨便根據用戶名和上傳時間生成一個偽隨機的文件名作為上傳以後的用戶名
#但解碼的條件是可以根據文件名判斷出文件所有者的用戶名和上傳時間
#需要從資料庫取出用戶的密匙 才能進行解密 密匙是用戶名的前5個字元
#具體加密解密的代碼實現 請參照PHP標准擴展庫 Mcrypt擴展下的N種方法
return $fake_random_name;
}
if(!is_writbale(UPLOAD_ROOT)){
die('you need chown the dir for your uploading file,make it writable~');
}else{
move_uploaded_file($_FILES['POST過來的表單名']['tmp_name'];
/*
* 這個方法會自動調用is_upload_file()方法 檢測是否是合法的http rfc1867協議上傳的文件
* 當然了 你也可以限制是否是你需要的合法文件類型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以
*/
$dbh = new mysqli('localhost','root','sa','your_db_name');#生成中可以include進來 DSN放到根目錄以外去 保護連接文件
$sec_key = substr($_SESSION['loginname'],0,5);
#密匙
$file_name = fake_random_name($_FILES['POST過來的表單名']['tmp_name'],$sec_key);
#加密後的名字
$q_str = "insert into tb(owner,location)values($_SEESION['loginname'],UPLOAD_ROOT.DIRECTORYSLASH.$file_name))";/SQL
$dbh->query($q_str);
if($dbh->num_rows()==1) echo "上傳成功,已經插入資料庫文件細節(加密)";
}
4. PHP略縮圖上傳後會加密怎麼顯示出後綴
把這行代碼改了就可以了。filePath = $uppath.md5($filename."image"). '.'. strtolower(fileext($_FILES['file']['name']));//轉為無圖片後綴的名稱,並加密
5. 如何對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
6. 如何對PHP文件進行加密
php文件是服務端的,上傳之後,一般是下載不了。如果是本地的源碼,可以使用加密軟體,或者壓縮之後加密
7. 如何對PHP文件進行加密
你可以試一下這款軟體加密試一下
1、下載安裝軟體成功後,在需要加密的文件上面右鍵單擊,選擇「加密」
2、然後在彈出的密碼輸入窗口中輸入需要設置的密碼,
3、然後選擇對文件加密使用的加密方法,點擊「確定」
這樣的話,一個文件就可以加密成功了哦
8. 如何對PHP文件進行加密
按下面方法就能成功;
方法一:將想要加密的文件——右鍵添加到壓縮文件(ZTP格式)——生成zip壓縮文件夾右鍵——打開方式——用compressdfolders之後對生成的這個文件添加密碼OK。試試!
方法二:將想要加密的文件——右鍵添加到壓縮文件——選高級——設置密碼——OK
推薦使用:「隱身俠」「文件夾加密大師」等軟體來完成比較好。
9. php文件文件加密之後,我以為是亂碼,加了個編碼 結果再上傳的之後,顯示一片空白,吧原來的備份傳上也是
風奧軟體加密,功能很強大,
10. 如何用PHP、Qt開發框 架和MySQL一起做出一個文件加密傳輸系統
文件加密是指QT作為客戶端,運行在PC上,然後PHP+MySQL作為服務端,客戶端選擇一個文件,上傳到服務端後加密保存嗎?
還是說既要加密存儲,也要加密傳輸?