導航:首頁 > 編程語言 > php圖片地址加密

php圖片地址加密

發布時間:2022-04-20 18:31:32

1. 關於php網站URL地址「加密」或轉義的問題

PHP 函數 strtr

$trans = array('1'=>'a', '2'=>'b', '3'=>'c', '4'=>'d', '5'=>'e', '6'=>'f', '7'=>'g', '8'=>'h', '9'=>'i', '0'=>'z');
$url = 'aa.com/ct-9326664726.html';
echo strtr($url, $trans);
// 輸出 aa.com/ct-icbfffdgbf.html

2. 給圖片地址加密問題

你把我發給你的代碼拆解成2段地址,鏈接成一個地址保存成變數不就可以了如:<?php
if($_GET["id"]=="123"){$url=$pic_url."310x310.jpg";
header("Location: $url");//輸出圖片
exit;
}
?>

3. 如何對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

4. php url加密

為什麼要加密?有意義?

結果1:點擊加密後的url,該url直接出現在瀏覽器地址欄,也就是不管你是什麼url,反正能直接使用,所以不需要關心你是否對url加密過

結果2:在源文件中的url是加密,點擊後直接在瀏覽器地址欄出現還原後的地址,加密有意義?


如果你是要防止搜索引擎搜錄請使用robots.txt阻止爬蟲訪問就行了。

另一個方法是所有的url使用js動態設置,這樣人家也沒法兒抓了,具體混淆使用的屬性名稱可以隨時更換,比如

<a<?phpechoURL_ALAS_ATTRIBUTE_NAME?>="/index.php">clickhere</a>
<script>
$(function(){
$('a').each(function(){
$(this).attr('href',$(this).attr('<?phpechoURL_ALAS_ATTRIBUTE_NAME?>'));
});
});
</script>

URL_ALAS_ATTRIBUTE_NAME 這個常量值可以每次訪問時隨機定義,這樣誰也抓不到了。

5. 如何將PHP加密~ 如:music.phpurl=後面的地址加密(成功追加100分)

php有mcrypt庫,但是本人用下來很爛,加密在解密字元串會多出很多原來沒有的字元,而且總是亂碼,差不多隻有sha1是比較好用的
用哈希加密非常簡單
Location('music.php?url='.sha1($_GET['url']));
但是相比php,javascript的加密技術就更厲害了,我有sha1,md5和blowfish的三種加密函數,這些都是比較常用的演算法

6. 對php文件加密,有哪些免費軟體,怎麼加密

php 源文件加密工具PHP Screw .

目前最新版本是1.3
網址
http://sourceforge.net/projects/php-screw/
我的安裝環境
系統:Slackware 10
軟體:Apache 1.3.31
PHP 4.3.7
以上環境全部是slackware 10默認安裝後自帶的。具體的Apache+php+mysql安裝方法參照如下
支持php的Apache環境安裝
獲得軟體
下載php_screw-1.3 (http://prdownloads.sourceforge.net/php-screw/php_screw-1.3.tgz?download)

安裝
1.將獲得的php_screw-1.3.tgz文件放到/usr/local目錄下,然後用tar解壓縮
tar zxvf php_screw-1.3.tgz

2.進入/usr/local/php_screw-1.3目錄開始安裝
cd /usr/local/php_screw-1.3
phpize
./confiugre

3.設置自己用來加密的密碼
vi my_screw.h

-- Please change the encryption SEED key (pm9screw_mycryptkey) into the
values according to what you like.
The encryption will be harder to break, if you add more values to the
encryption SEED array. However, the size of the SEED is unrelated to
the time of the decrypt processing.

* If you can read and understand the source code, to modify an original
encryption logic will be possible. But in general, this should not
be necessary.

OPTIONAL: Encrypted scripts get a stamp added to the beginning of the
file. If you like, you may change this stamp defined by
PM9SCREW and PM9SCREW_LEN in php_screw.h. PM9SCREW_LEN must
be less than or equal to the size of PM9SCREW.

4.編譯
make

5.拷貝moles目錄下的php_screw.so文件到/usr/lib/php/extension目錄下
cp moles/php_screw.so /usr/lib/php/extension/

6.編輯php.ini文件
在php.ini文件里,加入如下語句
extension=php_screw.so

7.重新啟動Apache
/etc/rc.d/rc.httpd restart

8.編譯加密工具
cd tools
make

9.將tools目錄下加密用的工具screw拷貝到適當目錄
cp screw /usr/bin/

經過以上的10步,就已經把php_screw-1.3全部安裝完成了。並且現在的php也已經支持解釋加密過的php文件了
使用
1.現寫一個要加密的php文件。
我寫了如下的一個用來測試php速度的compute.php文件

<?
$a=0;
$t=time();
for($i=0;$i<5000000;$i++)
{$a=$a*$i;}
$t1=time();
echo "<p>";
echo "It used:";
echo $t1-$t;
echo "seconds";
?>
將上面的compute.php文件放到/var/www/htdocs目錄下。通過瀏覽器訪問,將顯示出php在大量計算時的速度(只能粗略估計一下)
2.將我們寫的php文件加密
cd /var/www/htdocs/
screw compute.php

我們加密後,現在目錄下的compute.php文件就是我們已經加密的了。而源文件被改名為compute.php.screw存放了。
我們現在再測試一下compute.php,看看能否正常使用?速度如何?
我比較了一下,加密前後的速度大概一樣,基本沒有太多的損失。

7. php隱藏圖片真實地址代碼

/*圖片轉換為base64格式編碼*/
$img='uploads/01.png';
$base64_img=base64EncodeImage($img);
echo'<imgsrc="'.$base64_img.'"/>';

functionbase64EncodeImage($image_file){
$base64_image='';
$image_info=getimagesize($image_file);
$image_data=fread(fopen($image_file,'r'),filesize($image_file));
$base64_image='data:'.$image_info['mime'].';base64,'.chunk_split(base64_encode($image_data));
return$base64_image;
}

你可以把圖片內容轉為base64的,這樣就不會圖片的地址了,但是頁面體積會變大,

<img src="base64之後的值 />

8. php想實現地址加密,如同下面的url地址,想把url地址進行加密類似下面的形式,不知道有沒有什麼好辦法

可以使用 rc4 加密。

9. php隱藏圖片真實地址代碼怎麼用

<?php
/**
* @molar 這個腳本將會隱藏圖片的真實地址
* @param name string 圖片名稱
* @example <img src=" http://www.xxx.com/getImg.php?name=demo.jpg" />
* 等同於 <img src=" http://www.xxx.com/images/demo.jpg" />
*/
//設置圖片真實地址所在的文件夾,您所帖的代碼當中少了一個分號.程序會報錯
$image_path="images/";
//從URL當中得到文件名.比方說本程序的名字為getImg.php,傳入參數name=demo.jpg
//即URL地址為getImg.php?name=demo.jpg,
$image_file=$image_path.$_GET['name'];
//以只讀模式打開文件
$sTmpVar = fread(fopen($image_file, 'r'), filesize($image_path));
//設置文件頭顯示為圖片.
header("Content-type: image/* ");
//輸出數據流
echo $sTmpVar;
?>

閱讀全文

與php圖片地址加密相關的資料

熱點內容
單片機kill4軟體下載收費嗎 瀏覽:846
蘋果手機怎麼連接RMS伺服器 瀏覽:603
cisco路由器基本配置命令 瀏覽:186
android狀態欄顏色透明 瀏覽:116
db2編譯工具 瀏覽:181
騰訊雲伺服器創建環境 瀏覽:567
監管資金怎麼解壓 瀏覽:670
榮耀手機內存清理文件夾 瀏覽:175
外派程序員方案 瀏覽:554
安卓怎麼把桌面的軟體變成卡通 瀏覽:885
魯班鎖解壓嗎 瀏覽:395
打包發送文件如何加密 瀏覽:213
centos解壓縮zip 瀏覽:388
我的世界怎麼用命令風塊取消指令 瀏覽:1000
安卓軟體請求超時怎麼辦 瀏覽:476
androidapp調用另一個app 瀏覽:621
數控銑床法蘭克子程序編程 瀏覽:174
linux打包命令targz 瀏覽:997
抖音app是哪個 瀏覽:407
蘋果app怎麼上架 瀏覽:255