精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Zephir編寫C動態(tài)擴展庫將PHP源代碼編譯加密

開發(fā) 前端
Zephir 使用PHP編譯器將源代碼編譯成二進制文件,這樣可以隱藏代碼邏輯和實現(xiàn)細節(jié)。可以把通用業(yè)務類,都編譯成二進制拓展,對外只提供.so文件,也就不需要加密代碼了。

概述

PHP源代碼編譯加密通常是出于保護知識產(chǎn)權、防止源代碼泄露和被非法修改的目的。加密PHP源代碼可以使用先進的加密工具如Zend Guard或ionCube、使用代碼混淆技術、或開發(fā)自定義編譯擴展。

最關鍵的是,在加密的同時,確保服務器有相應的解密擴展來執(zhí)行代碼,否則加密代碼將無法運行。換言之,加密和執(zhí)行是一個密不可分的過程。本章節(jié)我們將主要展開討論使用Zephir語言編寫動態(tài)擴展庫進行代碼加密。

Zephir 使用PHP編譯器將源代碼編譯成二進制文件,這樣可以隱藏代碼邏輯和實現(xiàn)細節(jié)。可以把通用業(yè)務類,都編譯成二進制拓展,對外只提供.so文件,也就不需要加密代碼了。

Zephir

Zephir是一個開源的高級語言(區(qū)別于匯編等機器語言),它的設計是為了減輕PHP原生擴展的創(chuàng)建難度和可維護性,另外還帶來了強類型與內存安全的支持。

Zephir是一門定位于大多數(shù)想通過編寫和編譯能夠被PHP執(zhí)行的代碼的PHPer需求的語言。它是一種動態(tài)和靜態(tài)類型結合的語言,對于PHP來說,它的一些功能可能會感覺時曾相識。

應用

本章節(jié)使用個人倉庫 https://github.com/Tinywan/zephir-lang-php-extension 進行簡單實現(xiàn)一個業(yè)務代碼的認證授權加密代碼。

機密案例代碼

git clone https://github.com/Tinywan/zephir-lang-php-extension.git

目錄結構

.
  ├── zephirencrypt                   -- 加密擴展庫目錄
  │   ├── Auth
  │   │   └── License.zep         -- 權限認證
  │   ├── Common
  │   │   └── AbstractModule.zep -- 模塊抽象類
  │   └── Module                  -- 業(yè)務模塊目錄
  │       └── LiveModule.zep            
  ├── config.json                 -- 編譯擴展配置文件
  └── ext                         -- 編譯生成的.so文件

授權許可證License.zep

/**
 * @desc 授權許可證
 * @author Tinywan(ShaoBo Wan)
 * @date 2024/6/16 20:14
 */
namespace ZephirEncrypt\Auth;

class License
{
    /**
     * @desc 授權認證
     * @author Tinywan(ShaoBo Wan)
     */
    public static function check(string service_uuid, string auth_license, int uid = 0, int rand = 0)
    {
        var private_key = "tinywan2024";
        var expire_time = substr(auth_license, 0, 10);
        var current_time = time();
        var sequest_hash_value = substr(auth_license, -32);
        var res_hash_value = md5(service_uuid . "-" . expire_time . "-" . rand . "-" . uid . "-" . private_key);

        if expire_time < current_time {
            return -1;
        }

        if sequest_hash_value != res_hash_value {
            return 0;
        }
        return 1;
    }
}

業(yè)務模塊抽象類AbstractModule.zep

/**
 * @desc 抽象業(yè)務模塊
 * @author Tinywan(ShaoBo Wan)
 * @date 2024/6/16 20:14
 */
namespace ZephirEncrypt\Common;
use ZephirEncrypt\Auth\License;

abstract class AbstractModule
{
    protected service_uuid;

    protected auth_license;

    /** 1 true , 0 false */
    public auth_status = 0;

    /**
    * @desc 構架函數(shù)
    * @author Tinywan(ShaoBo Wan)
    */
    public function __construct(string service_uuid, string auth_license)
    {
        let this->service_uuid = service_uuid;
        let this->auth_license = auth_license;
        var checkRes = License::check(this->service_uuid, this->auth_license);
        if checkRes == -1 {
            let this->auth_status = -1;
        }

        if checkRes == 0 {
            let this->auth_status = 0;
        }

        if checkRes == 1 {
            let this->auth_status = 1;
        }
    }

    /** 獲取權限狀態(tài) */
    abstract public function getAuthStatus();
}

直播業(yè)務模塊LiveModule.zep

/**
 * @desc 直播業(yè)務模塊
 * @author Tinywan(ShaoBo Wan)
 * @date 2024/6/16 20:14
 */
namespace ZephirEncrypt\Module;
use ZephirEncrypt\Common\AbstractModule;

class LiveModule extends AbstractModule
{
    /**
     * @desc 構架函數(shù)
     * @author Tinywan(ShaoBo Wan)
     */
    final public function __construct(string service_uuid, string auth_license)
    {
        parent::__construct(service_uuid, auth_license);
    }

    /**
    * @desc 獲取權限狀態(tài)
    * @author Tinywan(ShaoBo Wan)
    */
    public function getAuthStatus()
    {
        return $this->auth_status;
    }

    /**
     * @desc 業(yè)務測試
     * @author Tinywan(ShaoBo Wan)
     */
    public function start()
    {
        var res = [];
        if this->auth_status != 1 {
            let res = ["code":this->auth_status, "msg":"no permission to access"];
            return json_encode(res);
        }
        echo "直播開始成功..............";
        echo "這里開始寫你的業(yè)務代碼.....";
        echo "這里開始寫你的業(yè)務代碼.....";
        echo "這里開始寫你的業(yè)務代碼.....";
    }
}

編譯并生成擴展

cd zephir-lang-php-extension/

# 進入加密擴展庫目錄
cd zephirencrypt

編譯并生成擴展

zephir build

如果一切順利,您將在輸出的末尾看到以下消息:

zephir-lang-php-extension/zephirencrypt# zephir build
 Cleaning old kernel files...
 Copying new kernel files...
 Preparing for PHP compilation...
 Preparing configuration file...
 Compiling...
 Zephir version has changed, use "zephir fullclean" to perform a full clean of the project
 Installing...

 Extension installed.
 Add "extension=zephirencrypt.so" to your php.ini

 ! [NOTE] Don't forget to restart your web server

在上面的步驟中,您可能需要提供root密碼才能安裝擴展。

最后,必須將擴展添加到php.ini才能由PHP加載。這是通過添加初始化指令:extension=zephirencrypt.so來實現(xiàn)的。

注意:您也可以在命令行中使用-d extension=zephirencrypt.so加載它,但它只會為單個請求加載,因此每次您想要在CLI中測試擴展時都需要包含它。將指令添加到php.ini將確保從那時起為每個請求加載它。

測試

現(xiàn)在擴展已添加到您的 php.ini 中,請執(zhí)行以下命令檢查擴展是否正確加載:

php -m


[PHP Modules]
apcu
....
zephir_parser
zephirencrypt
...
[Zend Modules]

擴展名zephirencrypt應該是表明擴展名已正確加載。

如何使用

新建測試文件zephir.php

<?php
/**
 * @desc zephir.php 描述信息
 * @author Tinywan(ShaoBo Wan)
 * @date 2024/8/5 22:51
 */
declare(strict_types=1);

$serviceUuid = "13c7c8e1-3ac2-41a6-95dc-ff954b431bbf";
$authLicense = "1728869954-0-0-eabfb0fb52c429d4fa037585f7afd512";

$liveModule = new \ZephirEncrypt\Module\LiveModule($serviceUuid, $authLicense);
print_r($liveModule);

$res = $liveModule->start();
var_dump($res);

以上授權碼時間為1528869954 ,即:2018-06-13 14:05:54,預期結果是該授權碼已過期,執(zhí)行代碼預期結果

ZephirEncrypt\Module\LiveModule Object
(
    [service_uuid:protected] => 13c7c8e1-3ac2-41a6-95dc-ff954b431bbf
    [auth_license:protected] => 1528869954-0-0-eabfb0fb52c429d4fa037585f7afd512
    [auth_status] => -1
)

可以看到此時授權碼狀態(tài)是-1表示授權碼過期。嘗試授權碼為未來某一天1788689954 ,即:2026-09-06 18:19:14

$authLicense = "1788689954-0-0-eabfb0fb52c429d4fa037585f7afd512";

預期結果相同

ZephirEncrypt\Module\LiveModule Object
(
    [service_uuid:protected] => 13c7c8e1-3ac2-41a6-95dc-ff954b431bbf
    [auth_license:protected] => 1788689954-0-0-eabfb0fb52c429d4fa037585f7afd512
    [auth_status] => 0
)

正確的授權碼

ZephirEncrypt\Module\LiveModule Object
(
    [service_uuid:protected] => 13c7c8e1-3ac2-41a6-95dc-ff954b431bbf
    [auth_license:protected] => 178909089954-0-0-eabfb0fb52c429d4fa037585f7afd512
    [auth_status] => 1
)
string(42) "直播開始成功............."
string(42) "這里開始寫你的業(yè)務代碼...."
string(42) "這里開始寫你的業(yè)務代碼...."
string(42) "這里開始寫你的業(yè)務代碼...."
責任編輯:武曉燕 來源: 開源技術小棧
相關推薦

2024-08-07 08:14:26

2009-12-08 13:18:17

2010-01-14 10:42:08

C++源代碼

2020-11-13 13:05:27

Java開發(fā)代碼

2023-12-28 07:57:27

2022-06-09 09:54:45

編譯軟件開發(fā)

2010-02-04 09:10:04

Linux PHP

2016-01-06 09:57:23

編寫PHP擴展

2010-01-11 15:47:37

C++編譯

2010-06-10 10:22:56

Chrome 源代碼擴展同步

2021-08-18 08:00:00

Emscripten開發(fā)技術

2021-07-07 05:53:23

PythonPython 語法加密源代碼

2009-03-11 11:32:10

JavaJava安全加密技術

2010-01-14 14:40:21

C++代碼

2013-12-10 10:53:47

shellcode

2009-11-27 10:32:35

2009-11-25 10:16:49

linuxphpizePHP

2010-02-04 13:19:41

Linux Nginx

2009-08-27 16:29:18

C#動態(tài)編譯

2010-03-01 15:55:00

Fedora Eva
點贊
收藏

51CTO技術棧公眾號

中文字幕欧美一区| 激情国产一区二区| 中文字幕亚洲欧美日韩高清| mm131国产精品| 三级网站视频在在线播放| 99re在线精品| 成人深夜直播免费观看| 日产精品久久久久久久| 水蜜桃精品av一区二区| 亚洲国产成人精品久久| 亚洲一级免费观看| 成人ssswww在线播放| 中文字幕成人av| 国产伦精品一区二区三区在线 | 影视亚洲一区二区三区| 亚洲精品成人免费| 亚洲欧美自拍另类日韩| 欧美激情网站| 一区二区三区在线观看欧美| 日韩精品大片| 人妻无码中文字幕| 免费av网站大全久久| 国内精品小视频在线观看| 18啪啪污污免费网站| 美国成人xxx| 91精品国产色综合久久不卡蜜臀 | 精品亚洲aⅴ在线观看| 国产探花在线看| 欧美片第1页| 亚洲国产成人porn| 一道本在线观看视频| 精品亚洲综合| a美女胸又www黄视频久久| 成人性生交大片免费看小说 | 午夜国产小视频| 日韩在线你懂的| 亚洲电影免费观看| 精品人妻一区二区三区免费| 精品国产黄a∨片高清在线| 色综合久久综合网欧美综合网| 18视频在线观看娇喘| eeuss影院www在线播放| 国产亚洲污的网站| 蜜桃久久精品乱码一区二区 | 136导航精品福利| 91精品在线一区二区| 免费看涩涩视频| 韩国精品主播一区二区在线观看| 欧美日韩一区二区在线| 久久久久免费看黄a片app| 在线观看操人| 一区二区三区日本| 成人国产一区二区三区| av免费在线免费| 亚洲人123区| 99热一区二区三区| 好操啊在线观看免费视频| 国产亚洲污的网站| 亚洲自拍偷拍二区| 麻豆传媒在线完整视频| 日韩一区欧美小说| 玖玖精品在线视频| 日本h片在线| 亚洲午夜成aⅴ人片| 国产成人艳妇aa视频在线| 丁香花在线电影小说观看| 精品成人乱色一区二区| 黄色片一级视频| 素人啪啪色综合| 宅男噜噜噜66一区二区66| 一个色综合久久| 久久久国产精品入口麻豆| 日韩免费成人网| www.17c.com喷水少妇| 天海翼亚洲一区二区三区| 国产一区二区三区18| 美国精品一区二区| 欧美国产三区| 欧美在线亚洲一区| 中文字幕第2页| 国产精一区二区三区| 国产在线精品一区二区三区》| 日本免费一区二区三区最新| 中文字幕欧美区| 300部国产真实乱| 性xxxxfreexxxxx欧美丶| 欧美无人高清视频在线观看| 成人高清在线观看视频| 丝袜连裤袜欧美激情日韩| 中文字幕成人精品久久不卡| 久久久久亚洲av无码专区体验| 亚洲精品黄色| 国产精品一区二区久久久久| www.国产三级| 国产欧美日韩久久| 激情成人开心网| 91超碰碰碰碰久久久久久综合| 日韩欧美国产电影| 欧洲女同同性吃奶| 欧美激情 亚洲a∨综合| 国产91精品网站| 精品国产免费无码久久久| 26uuu久久天堂性欧美| 中文字幕中文字幕在线中一区高清| 欧美黑人猛交的在线视频| 91久久精品网| 香蕉视频污视频| 久久亚洲在线| 日本午夜精品理论片a级appf发布| 91在线观看喷潮| 91蜜桃免费观看视频| 四虎永久免费网站| 欧美国产日韩电影| 日韩精品高清在线| 久久精品无码人妻| 久久91精品国产91久久小草| 蜜桃999成人看片在线观看| 日本天码aⅴ片在线电影网站| 在线观看一区日韩| 天堂www中文在线资源| 91成人国产| 国产精品高潮在线| 外国精品视频在线观看| 亚洲免费大片在线观看| 亚洲一级片免费| 亚洲精品亚洲人成在线| 欧美国产日韩视频| 精品国产黄色片| 亚洲欧洲国产专区| www.亚洲高清| 精品理论电影在线| 91福利视频网| 天天干在线观看| 亚洲一区二区视频| 少妇精品无码一区二区| 欧美/亚洲一区| 91精品在线播放| 麻豆视频在线观看免费网站| 欧美日韩亚洲国产综合| 第一次破处视频| 每日更新成人在线视频| 久久国产精品久久| 国产在线观看www| 精品成人私密视频| 国产无遮挡又黄又爽| 成人免费视频网站在线观看| 成人在线播放网址| 国产成人福利av| 韩国欧美亚洲国产| 天天色棕合合合合合合合| 亚洲福利一二三区| 在线黄色免费网站| 国产精品最新自拍| 欧美一区亚洲二区| 久久天堂av| 日韩一区二区久久久| 国产美女明星三级做爰| 亚洲日本青草视频在线怡红院| 99中文字幕在线| 欧美一区免费| 国产亚洲精品久久飘花| 91高清视频在线观看| 精品亚洲夜色av98在线观看| 久久人妻免费视频| 国产精品素人视频| 亚洲图色中文字幕| 午夜日韩视频| 久久综合久久久| 2019年精品视频自拍| 色香阁99久久精品久久久| 97人妻精品一区二区三区视频| 亚洲天堂中文字幕| 熟妇高潮一区二区| 老司机午夜精品视频在线观看| 日本精品一区| 久久伊人影院| 欧美一级电影久久| 在线激情网站| 日韩欧美一级特黄在线播放| 日韩av在线播放观看| 国产欧美精品区一区二区三区| 亚洲欧美日韩精品一区| 亚洲国产欧美国产综合一区| 日本成人黄色| 日韩精品视频中文字幕| 2018日韩中文字幕| 中文字幕在线视频区| 日韩精品一区二区在线| 四虎成人在线观看| 亚洲欧洲成人av每日更新| 日韩综合第一页| 免费xxxx性欧美18vr| 国产91沈先生在线播放| 国产精品一在线观看| 亚洲一区二区免费在线| 在线观看网站免费入口在线观看国内| 色狠狠久久aa北条麻妃| 蜜桃av中文字幕| 欧美日韩国产综合草草| 日本少妇性生活| 综合久久一区二区三区| 日韩 中文字幕| 国内精品免费**视频| 精品无码国模私拍视频| 久久综合成人| 欧美凹凸一区二区三区视频| 国产aa精品| 国产91在线播放精品91| 日韩电影免费观看| 最近2019年好看中文字幕视频| 日韩一区二区三区不卡| 欧美日韩精品欧美日韩精品一 | 性欧美又大又长又硬| 久久亚洲综合国产精品99麻豆精品福利| 五月激情婷婷网| 欧美一区二区三区视频在线观看| 乱子伦一区二区三区| 亚洲成人免费观看| www.99re7| 国产精品不卡在线| 国产三级av在线播放| fc2成人免费人成在线观看播放| 中文字幕在线视频一区二区三区 | 国产精品久久久久久av| 69av成人| 久久久久久网站| 污的网站在线观看| 俺去亚洲欧洲欧美日韩| se在线电影| 一区二区三区视频在线| 日本护士...精品国| 亚洲精品乱码久久久久久按摩观| 国产不卡av在线播放| 91精品国产综合久久精品app| 中文字幕乱码中文字幕| 一本久久a久久免费精品不卡| 中文字幕在线字幕中文| 亚洲国产美女搞黄色| 青青草手机视频在线观看| 亚洲欧洲另类国产综合| 五月天免费网站| 欧美国产亚洲另类动漫| 国产亚洲精品熟女国产成人| 91蝌蚪porny九色| 素人fc2av清纯18岁| 91在线精品一区二区三区| 男女一区二区三区| 91一区二区三区在线观看| 538国产视频| 久久亚洲综合色一区二区三区| 性欧美成人播放77777| 久久新电视剧免费观看| japanese中文字幕| 日本一区二区三区在线不卡| 中文字幕欧美激情极品| 国产精品免费网站在线观看| 粉嫩精品久久99综合一区| 国产精品久久久久久久久动漫| jizzjizz日本少妇| 亚洲视频一二区| 免费中文字幕在线观看| 天天综合网 天天综合色| 中国一级特黄毛片| 在线精品亚洲一区二区不卡| 在线观看一二三区| 欧美一级一级性生活免费录像| www.五月婷婷| 日韩毛片在线观看| 97最新国自产拍视频在线完整在线看| 日韩中文字幕在线播放| a视频在线观看| 国模精品系列视频| 在线手机中文字幕| 国产日韩在线播放| 亚洲日本va中文字幕| 精品一区2区三区| 成人在线丰满少妇av| 色乱码一区二区三区熟女| 欧美激情自拍| av片中文字幕| 国产尤物一区二区| 一区二区三区免费在线观看视频| 国产精品视频yy9299一区| 麻豆疯狂做受xxxx高潮视频| 色综合天天综合| 国产乱码精品一区二区| 日韩成人高清在线| 日本三级在线视频| 久久久久久久久久久免费| 唐人社导航福利精品| 96精品久久久久中文字幕| 欧美自拍一区| 亚洲最大色综合成人av| 亚洲精品乱码久久久久久蜜桃麻豆| 成年网站在线免费观看| 国产精品综合一区二区三区| 亚洲国产欧美视频| 亚洲精品乱码久久久久久黑人 | 激情综合网天天干| 野花社区视频在线观看| 亚洲精品免费视频| 国产裸体美女永久免费无遮挡| 精品日韩99亚洲| 日本中文字幕视频在线| 2020国产精品视频| 亚洲视频一起| 亚洲资源在线网| 久久亚洲风情| 国产人妻黑人一区二区三区| 亚洲人xxxx| 一区二区视频免费| 亚洲精品小视频| 爱看av在线| 亚洲自拍中文字幕| 成人影院在线| 熟女人妇 成熟妇女系列视频| 成人午夜精品在线| 国产成人自拍网站| 欧美日韩久久久一区| 日韩有码电影| 国内精品一区二区三区| 伊人精品久久| 强伦女教师2:伦理在线观看| 青青草91视频| 免费毛片视频网站| 欧美日韩美女在线观看| 亚洲产国偷v产偷v自拍涩爱| 久久精品99久久久香蕉| 国产福利亚洲| 亚洲激情一区二区| 奇米色一区二区| 亚洲国产天堂av| 欧美曰成人黄网| 草碰在线视频| 国产精品国产福利国产秒拍| 免费精品国产| 欧美激情成人网| 久久久久久久久久看片| 亚洲婷婷综合网| 国产视频久久久| 在线精品亚洲欧美日韩国产| 精品日韩欧美| 噜噜噜91成人网| 成人精品999| 在线视频欧美区| 国产福利免费在线观看| 国产精品美女视频网站| 欧美一区二区三区激情视频 | aaa在线视频| 国产亚洲在线播放| 日韩色淫视频| 一区二区免费电影| 精品一区二区在线视频| 国产激情无码一区二区三区 | 四虎影视在线播放| 2020国产精品视频| 精品久久久久久久久久久aⅴ| 日韩欧美黄色大片| 国产精品二区一区二区aⅴ污介绍| 国产又粗又长视频| 久久999免费视频| 欧美激情极品| 日本新janpanese乱熟| 1024精品合集| 亚洲av综合色区无码一二三区| 韩国视频理论视频久久| 九九久久婷婷| caoporm在线视频| 一区二区三区四区高清精品免费观看 | 美女一区二区三区在线观看| 5566中文字幕| 337p日本欧洲亚洲大胆色噜噜| 亚洲精品国产精品国产| 亚洲精品一卡二卡三卡四卡| 精久久久久久久久久久| 九九热只有精品| 亚洲天堂网站在线观看视频| 欧美爱爱视频| r级无码视频在线观看| 久久久久久久一区| 国产乱淫av免费| 136fldh精品导航福利| 日本一区二区免费高清| 日韩大尺度视频| 在线观看av不卡| 视频在线这里都是精品| 欧美精品一区三区在线观看| 精品一区二区免费| 在线观看免费国产视频| 最近2019年好看中文字幕视频| 久久中文资源| 国产乱码一区二区三区四区| 欧美日韩国产专区| 免费观看在线黄色网| 久久久久资源| 国产美女精品人人做人人爽 | www.8ⅹ8ⅹ羞羞漫画在线看| 午夜精品美女久久久久av福利| 风流少妇一区二区| 伊人网av在线|