精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久网中文字幕| 污视频免费在线观看网站| 天天干天天草天天射| 性色av一区二区怡红| 国产亚洲成精品久久| 黄色一级片免费的| 男女羞羞在线观看| 中文字幕在线播放不卡一区| 国产精品久久7| 免费在线观看av的网站| 亚洲欧洲日韩| 亚洲日本欧美日韩高观看| 在线观看免费视频污| 在线看片福利| 一区二区三区日韩欧美| 日韩视频精品| 天天操天天干天天爱| 久久99国产精品免费网站| 欧美在线观看视频| 免费在线一区二区三区| 日韩国产在线| 亚洲精品自拍第一页| 奇米777在线| 日本中文字幕一区二区| 亚洲电影激情视频网站| 在线播放豆国产99亚洲| 免费人成黄页在线观看忧物| 粉嫩嫩av羞羞动漫久久久| 国产精品普通话| 国产日产精品一区二区三区| 欧美午夜精品| 久久这里只有精品视频首页| 日本黄色小视频在线观看| 免费观看成人www动漫视频| 日韩一区二区在线观看| www.成年人| 国产成人精品一区二区三区免费| 色综合久久综合中文综合网| 欧美性潮喷xxxxx免费视频看| √天堂资源地址在线官网| 久久亚洲捆绑美女| 国产精品免费在线播放| 99久久精品无免国产免费| 麻豆国产91在线播放| 国产成人亚洲综合91精品| 日本午夜视频在线观看| 亚洲人成久久| 亚洲18私人小影院| 国产福利久久久| 伊人久久亚洲美女图片| 欧美多人乱p欧美4p久久| 欧美日韩精品在线观看视频| 91精品蜜臀一区二区三区在线| 正在播放欧美一区| 精品人体无码一区二区三区| 精品国产精品| 中文字幕国产精品| 超碰人人人人人人人| 日韩综合在线| www.日韩.com| 日本少妇高清视频| 黄色免费成人| 97免费视频在线| 精品人妻无码一区二区性色| 久久伊人亚洲| 国产美女久久精品| 国产精品久久久久久久久久久久久久久久久久 | 天天干视频在线观看| jvid福利写真一区二区三区| 免费在线国产精品| 午夜在线视频| 一区二区三区四区国产精品| 国产午夜大地久久| 日韩欧美看国产| 欧美日韩夫妻久久| 人妻精油按摩bd高清中文字幕| 中文字幕一区二区三区四区久久 | 91精品国产色综合久久ai换脸| 深爱五月综合网| 高清精品xnxxcom| 亚洲免费电影一区| 三级黄色录像视频| 狠狠爱综合网| 国产91在线播放九色快色| 亚洲影视一区二区| 成人91在线观看| 少妇特黄a一区二区三区| 岛国中文字幕在线| 激情久久av一区av二区av三区 | 国产精品一区二区在线观看网站| 91欧美激情另类亚洲| 色窝窝无码一区二区三区成人网站 | 91麻豆精品秘密入口| 亚洲欧美色视频| 成人欧美一区二区三区小说| 日韩中文字幕在线免费| 日韩另类视频| 欧美成人vr18sexvr| 六月婷婷七月丁香| 天天做天天爱天天综合网2021| 午夜精品蜜臀一区二区三区免费 | 国产v日韩v欧美v| 欧美视频精品在线观看| zjzjzjzjzj亚洲女人| 欧美日韩一区二区三区视频播放| 深夜福利一区二区| 国产成人自拍视频在线| 国产麻豆精品在线观看| 欧美精品一区二区三区四区五区| 国产原厂视频在线观看| 日韩欧美国产黄色| 国产白袜脚足j棉袜在线观看| 色天天综合网| 青草成人免费视频| 高h放荡受浪受bl| 中文字幕欧美一| 99久久激情视频| 成人午夜三级| 欧美成人四级hd版| 国产一区二区三区三州| 国产情人综合久久777777| 人体内射精一区二区三区| 99tv成人影院| 中文字幕免费精品一区高清| 国产精品久久久久久久久久久久久久久久久 | 国产一区二区伦理| 神马影院午夜我不卡| 中文字幕人成乱码在线观看| 精品美女在线播放| 无码黑人精品一区二区| 日本欧美在线观看| 鲁丝一区鲁丝二区鲁丝三区| 美女精品导航| 日韩一区二区在线观看视频播放| 国产三级精品三级观看| 免费精品视频最新在线| 婷婷五月色综合| 欧美影视资讯| 亚洲最大中文字幕| 丁香社区五月天| 久久综合狠狠综合久久综合88 | 午夜激情福利电影| 美国一区二区三区在线播放| 日韩精品国内| 四虎影视4hu4虎成人| 在线看国产精品| 一二区在线观看| 国产精品久久久久久久午夜片| 狠狠躁狠狠躁视频专区| 日韩精品第一区| 成人激情视频免费在线| 成人免费视屏| 欧美成人性战久久| 国产无码精品视频| 91在线国内视频| 国产91对白刺激露脸在线观看| 亚洲女娇小黑人粗硬| 日韩美女在线看| 福利片在线观看| 欧美日韩一区不卡| 成人免费视频网站入口::| 国产成人综合视频| 蜜臀精品一区二区| 亚洲激情播播| 国产精品视频区| 超碰在线caoporn| 欧美v亚洲v综合ⅴ国产v| 免费日韩一级片| 国产丝袜美腿一区二区三区| 欧美美女性视频| 欧美黄免费看| 狠狠色伊人亚洲综合网站色| 小黄鸭精品aⅴ导航网站入口| 中文字幕在线看视频国产欧美| 一本到在线视频| 亚洲一区二区三区免费视频| 深爱五月激情网| 久久精品72免费观看| av片在线免费| 亚洲春色h网| 国产免费一区视频观看免费| 亚洲wwwww| 精品一区二区亚洲| 97在线播放免费观看| 亚洲尤物在线视频观看| 麻豆精品免费视频| 国产在线看一区| 久色视频在线播放| 日韩免费高清| 精品国产一区二区三区四区精华| 成人mm视频在线观看| 不卡av电影在线观看| 天堂中文在线资| 4438成人网| 国产综合精品视频| 玉足女爽爽91| 久久久久无码精品国产sm果冻| 国产精品夜夜嗨| av在线无限看| 一区在线免费| 在线观看精品视频| 亚洲精华一区二区三区| 91超碰在线电影| 国产69精品久久| 91高清免费视频| 日本高清成人vr专区| 亚洲天堂第二页| 天天操天天干天天干| 91麻豆精品91久久久久同性| 日本中文字幕久久| 亚洲国产日日夜夜| 538精品在线视频| 国产精品人成在线观看免费| xxxx黄色片| 国产盗摄女厕一区二区三区 | 男人天堂2024| 亚洲最大成人网4388xx| 一级性生活免费视频| 亚洲婷婷噜噜| 亚洲成人tv网| 91插插插插插插| 国产精品国产成人国产三级 | 久久久久久com| 久草免费在线| 搡老女人一区二区三区视频tv| 色猫av在线| 日韩av一卡二卡| 丁香六月天婷婷| 欧美v国产在线一区二区三区| 国产伦精品一区二区三区视频痴汉| 色哟哟欧美精品| 一级黄色在线视频| 欧美日韩亚洲精品一区二区三区| 国产无套粉嫩白浆内谢| 一区二区高清免费观看影视大全| 色哟哟一一国产精品| 亚洲欧洲另类国产综合| 国精产品视频一二二区| 国产精品人人做人人爽人人添| 国产一区二区三区精品在线| 欧美极品aⅴ影院| 一二三四在线观看视频| 中文子幕无线码一区tr| 人妻视频一区二区| 国产精品青草综合久久久久99| 中文字幕在线观看免费高清| 亚洲国产精品传媒在线观看| 亚洲图片第一页| 中文字幕中文字幕一区| 亚洲人做受高潮| 亚洲精品五月天| 九九视频在线观看| 亚洲国产cao| 色婷婷在线观看视频| 色综合天天性综合| 中文字幕永久在线视频| 正在播放亚洲一区| 亚洲乱熟女一区二区| 亚洲国产日韩精品在线| 久色视频在线| yw.139尤物在线精品视频| 成人在线观看亚洲| 91国内免费在线视频| 丝袜美腿一区| 成人av资源在线播放| 日韩中文字幕在线一区| 国产精品一区二区三区在线观| 欧美激情极品| 先锋在线资源一区二区三区| 91av精品| 成人中文字幕在线播放| 日韩精品一二三四| 一区二区久久精品| 成人av手机在线观看| 亚洲国产天堂av| 亚洲精品你懂的| 久久久久香蕉视频| 欧美在线观看一区二区| 99精品在线视频观看| 日韩精品极品视频| 日p在线观看| 97在线视频免费看| 91福利精品在线观看| 成人情视频高清免费观看电影| 日韩欧美在线精品| 国产精品av免费| 宅男噜噜噜66一区二区| 污污的视频免费| www..com久久爱| 女人18毛片毛片毛片毛片区二| 亚洲大片在线观看| 怡红院成永久免费人全部视频| 欧美草草影院在线视频| 九色在线播放| 欧美精品videosex极品1| 日韩免费va| 国产精品久久久对白| 久久影院一区| 国产精品欧美激情在线观看 | 免费成人深夜夜行p站| 国产精品久久久久久亚洲伦 | 久久精品卡一| 亚洲少妇一区二区| 国产精品日韩精品欧美在线| 日本熟妇成熟毛茸茸| 欧美区视频在线观看| 涩涩视频在线观看免费| 欧美另类老女人| 国产毛片精品久久| 欧美日韩精品免费观看视一区二区| 亚洲精品中文字幕乱码| 成人3d动漫一区二区三区| 成人黄色在线视频| 久久久久亚洲av片无码| 在线精品视频免费观看| 水莓100国产免费av在线播放| 欧美另类在线观看| 国产精品igao视频网网址不卡日韩| 欧美激情一区二区三区在线视频| 激情国产一区| av在线天堂网| 亚洲精品成人精品456| 亚洲一区二区三区网站| 在线亚洲国产精品网| 日本韩国欧美| 欧美在线一二三区| 久久久久久9| 成年人网站免费看| 天天综合天天综合色| 色噜噜一区二区三区| 久久久欧美精品| 最新国产精品精品视频| 成人午夜视频免费观看| 国产黄色成人av| 欧美成人一二三区| 日韩你懂的在线观看| 丝袜美女在线观看| 99re6热在线精品视频播放速度| 国产精品99久久精品| 日本肉体xxxx裸体xxx免费| 亚洲国产精品成人综合色在线婷婷 | 亚洲欧美亚洲| 免费看三级黄色片| 亚洲一区二区三区三| 搡老岳熟女国产熟妇| 91精品国产高清自在线看超| 国产精品18hdxxxⅹ在线| 一本色道久久88亚洲精品综合 | 福利视频一区二区三区| 欧美日韩a区| 日本天堂在线播放| 欧美日韩视频免费播放| 欧美老女人性开放| 国产精品视频精品| 91精品秘密在线观看| 国产ts在线观看| 精品动漫一区二区| 黄色大片在线免费观看| 国产精品女主播| 香蕉综合视频| 午夜福利三级理论电影| 欧美午夜无遮挡| 调教视频免费在线观看| 亚洲xxxx做受欧美| 国产欧美短视频| 在线观看免费小视频| 欧美一区二区三区男人的天堂| 女人天堂av在线播放| 久久久久久亚洲精品不卡4k岛国 | 国产精品男女猛烈高潮激情| 91欧美大片| 制服丝袜在线第一页| 色狠狠色噜噜噜综合网| 午夜在线播放| 国产亚洲精品美女久久久m| 久久裸体视频| 我要看黄色一级片| 日韩成人免费视频| 欧美97人人模人人爽人人喊视频| 国产91视频一区| 99精品视频一区二区三区| 日韩国产亚洲欧美| 欧美日韩第一视频| 精品日韩免费| 中文字幕在线播放一区二区| 欧美性猛交xxx| 成人在线观看亚洲| 欧美在线视频二区| 国产91综合一区在线观看| 久久久久久不卡| 久久国产精品偷| 免费欧美激情| 亚洲911精品成人18网站| 91国产免费看| xxx.xxx欧美| 在线观看福利一区| 久久久电影一区二区三区| 精品国自产在线观看| 国产精品99久久99久久久二8| 欧美精品日本|