PHP代碼加密,內(nèi)網(wǎng)離線可用,別人改不動,只有你能改

無需裝擴(kuò)展,也無需花錢,就用PHP源碼加密你的文件,內(nèi)網(wǎng)離線可用,別人改不動,只有你能改。
以laravel框架app/Http/Controllers/UserController.php文件示例:
1.生成密鑰

php -r "echo base64_encode(random_bytes(32));"

2.加密腳本
app同級目錄創(chuàng)建文件: encrypt.php

//填充內(nèi)容
<?php
$key = base64_decode('24ndU8………');  //剛剛生成的密鑰
$src = file_get_contents('./app/Http/Controllers/UserController.php');  //文件的路徑
$compressed = gzcompress($src, 9);  
$iv      = substr($key, 0, 16);
$cipher  = openssl_encrypt($compressed, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
file_put_contents(
    './app/Http/Controllers/UserController.php.enc',  //加密的文件
    '<?php ' . base64_encode($cipher)
);

3.執(zhí)行加密腳本

php encrypt.php

4.制作「加載器」

//創(chuàng)建一個文件,制作加載器,運行加密的文件
<?php
$key = base64_decode('24ndU8………');  //相同的密鑰
$raw = file_get_contents(__DIR__ . '/UserController.php.enc');
$cipher  = base64_decode(substr($raw, 6));
$iv      = substr($key, 0, 16);
$dec     = openssl_decrypt($cipher, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
$code    = gzuncompress($dec);
if ($code === false) abort(500, 'Controller corrupted');
eval('?>' . $code);

5.后續(xù)升級

  • 本地改好原文件
  • 再跑 php encrypt.php
  • 只替換 .php.enc 文件即可上線

以上方法需要更改加密的文件,太繁瑣了,我們可以在加密腳本的時候傳入需要加密的文件即可,將加密腳本修改一下

<?php   
if ($argc !== 2) {
    echo "用法: php encrypt.php <文件路徑>\n";
    exit(1);
}

$inFile  = realpath($argv[1]);
if (!is_file($inFile)) {
    echo "文件不存在: {$argv[1]}\n";
    exit(1);
}
$key = base64_decode('24ndU8………');
$src = file_get_contents($inFile);
$compressed = gzcompress($src, 9);
$iv      = substr($key, 0, 16);
$cipher  = openssl_encrypt($compressed, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
file_put_contents(
    $inFile . '.enc',
    '<?php ' . base64_encode($cipher)
);

//執(zhí)行
php encrypt.php app/Http/Controllers/UserController.php

最后,一定要保存好源文件,不然坑的是你自己。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容