在應用程式中使用 Application Protection Library

2024/1/22 |

這個文章描述如何在一個應用程式中使用 Application Protection Library (APL)。

.NET

大多情況下,MSBuild 和 Visual Studio 會自動偵測並將參考的函式庫加入 .NET 專案中。若 APL 需要被手動加入參考,依照以下的步驟將 APL 加入 .NET 專案的參考:

  1. 取得 APL

    • 在產生修正後的程式碼壓縮檔時,Lucent Sky AVM 會嘗試將 ApplicationProtectionLibrary.dll 加入應用程式的 bin 目錄。
    • Lucent Sky AVM CLI 可從 CLEAR Engine 下載 APL。例如:

        # Replace <AplPath> with path to download the APL
        $aplPath = "<AplPath>"
        .\SkyAnalyzer.Interface.Console.exe --Interface Maintenance --Method DownloadApl --Framework "DotNet" --AplPath "$aplPath"
      
    • 除此之外,APL 也可在執行 CLEAR Engine 的伺服器的 C:\Program Files\Lucent Sky\CLEAR Engine\Resources\ApplicationProtectionLibrary.dll 路徑找到。
  2. 將 APL 加入參考清單

    • MSBuild - 開啟專案的專案檔案(.*proj),新增一個 <Reference> 區段並使用 ApplicationProtectionLibrary.dll 的路徑作為其 <HintPath> 標籤的值。例如:

        <ItemGroup>
            <Reference Include="LucentSky.Security.Application">
                <HintPath>bin\ApplicationProtectionLibrary.dll</HintPath>
            </Reference>
        </ItemGroup>
      
    • Visual Studio - 在專案節上右點擊,再選取 [加入 > 參考]。在參考管理員中,選取 [瀏覽],找出 ApplicationProtectionLibrary.dll,再選取 [確認]

ECMAScript

要在 ECMAScript 中使用 APL,將 ApplicationProtectionLibrary.js 檔案加入參考。

  1. 取得 APL

    • Lucent Sky AVM CLI 可從 CLEAR Engine 下載 APL。例如:

        # Replace <AplPath> with path to download the APL
        $aplPath = "<AplPath>"
        .\SkyAnalyzer.Interface.Console.exe --Interface Maintenance --Method DownloadApl --Framework "StaticWeb" --AplPath "$aplPath"
      

    ApplicationProtectionLibrary.js 會在下載任何支援 ECMAScript 框架的 APL 時被包含,不僅是 static web 框架。

    • APL 可在執行 CLEAR Engine 的伺服器的 C:\Program Files\Lucent Sky\CLEAR Engine\Resources\ApplicationProtectionLibrary.js 路徑找到。
  2. 將 APL 加入參考

    • 要在瀏覽器中使用 APL,可使用 HTML script 標籤、ECMAScript 模組,或其他方法載入 APL。
    • 要在 Node.js 中使用 APL,可使用 ECMAScript 模組載入 APL。

JDK

有些組建工具能自動偵測並加入需要的依賴,但有些組建工具(例如 Maven)要求依賴必需被特地加入。依照以下的步驟將 APL 加入為 Ant 或 Maven 專案的依賴:

  1. 取得 APL

    • 在產生修正後的程式碼壓縮檔時,Lucent Sky AVM 會嘗試將 ApplicationProtectionLibrary.jar 加入應用程式的 lib 目錄。
    • Lucent Sky AVM CLI 可從 CLEAR Engine 下載 APL。例如:

        # Replace <AplPath> with path to download the APL
        $aplPath = "<AplPath>"
        .\SkyAnalyzer.Interface.Console.exe --Interface Maintenance --Method DownloadApl --Framework "Java" --AplPath "$aplPath"
      
    • 除此之外,APL 也可在執行 CLEAR Engine 的伺服器的 C:\Program Files\Lucent Sky\CLEAR Engine\Resources\ApplicationProtectionLibrary.jar 路徑找到。
  2. 將 APL 加入依賴清單

    • Apache Ant - 開啟專案根目錄的 build.xml,並將 ApplicationProtectionLibrary.jar 的路徑加入 <classpath> 區段中。例如:

        <classpath>
            <fileset dir="lib">
                <include name="ApplicationProtectionLibrary.jar" />
            </fileset>
        </classpath>
      
    • Apache Maven - 開啟專案根目錄的 pom.xml,新增一個 <dependency> 區段並使用 ApplicationProtectionLibrary.jar 的路徑作為其 <systemPath> 標籤的值。例如:

        <dependency>
            <groupId>com.lucentsky.security.application</groupId>
            <artifactId>com.lucentsky.security.application</artifactId>
            <version>1.0</version>
            <type>jar</type>
            <scope>system</scope>
            <systemPath>${project.basedir}/WEB-INF/lib/ApplicationProtectionLibrary.jar</systemPath>
        </dependency>
      

PHP

要在 PHP 應用程式中使用 APL,建議使用一個 .htaccess 檔案參考 ApplicationProtectionLibrary.php。這會讓所有 PHP 檔案自動參考 APL。另外,每個使用 APL 的 PHP 檔案亦可獨立參考 ApplicationProtectionLibrary.php

  1. 取得 APL

    • 在產生修正後的程式碼壓縮檔時,Lucent Sky AVM 會嘗試將 ApplicationProtectionLibrary.php 加入應用程式的根目錄。
    • Lucent Sky AVM CLI 可從 CLEAR Engine 下載 APL。例如:

        # Replace <AplPath> with path to download the APL
        $aplPath = "<AplPath>"
        .\SkyAnalyzer.Interface.Console.exe --Interface Maintenance --Method DownloadApl --Framework "Php" --AplPath "$aplPath"
      
    • 除此之外,APL 也可在執行 CLEAR Engine 的伺服器的 C:\Program Files\Lucent Sky\CLEAR Engine\Resources\ApplicationProtectionLibrary.php 路徑找到。
  • 使用 .htaaccess 加入 APL 參考

    1. 在 PHP 應用程式的根目錄建立一個 .htaaccess 檔案,或開啟現有的 .htaccess
    2. 將下列程式碼加入 .htaccess 中:

       php_value auto_prepend_file "/ApplicationProtectionLibrary.php"
      
  • 將 APL 加入獨立的 PHP 檔案中

    1. 開啟要參考 APL 的 PHP 檔案,並將下列程式碼插入檔案的最前端:

       <?php require('/ApplicationProtectionLibrary.php'); ?>