目次

Node.js

サポートされるバージョン

AgentはLinux環境にのみインストールできます。Windowsではサポートされていません。

コード保護機能

一部のコード保護機能は、特定のコンポーネントがアプリケーションで使用されている場合にのみ有効になります。次の表に、コード保護機能を有効にするために必要なコンポーネントを示します。依存関係なし は、コード保護機能が初期設定で有効になっていることを示します。特定のコンポーネントは必要ありません。

機能 必要
NodeJSのバージョン Node.js 10、12、およびECMAScript 5 と 6を使用したNode.js 14
本文とストリームの非同期解析 Koa 2.13.1
SQL Injection
  • Node postgres 7および8
  • node-pg-native 3
  • mysql 2+
  • sqlite3 バージョン3、4、5
  • Sequelize 4+
Remote Command Execution 依存関係なし
Illegal File Access 依存関係なし
Open Redirect Node.js Expressバージョン3および4
Malicious Payload 依存関係なし
Malicious File Upload 依存関係なし

エージェントをダウンロードする

NodeJSエージェントは、 ダウンロードページから入手できます。

エージェントをインストールする

正常にインストールするには、イメージにmakeコマンド、gcc、およびlibstdc ++パッケージがインストールされている必要があります。

  1. Nodeアプリケーションのルートから、次のように入力します。

    npm install --save trend_app_protect,
  2. Application Securityを有効にするには、アプリのセットアップコードの最初の行に次の行を追加します。

    require('trend_app_protect');
    
    //import support added in version 4.5.0 and above for projects that require/support es6 modules
    import 'trend_app_protect';

    requireimport のどちらを使用するかは、アプリケーション自体、使用するモジュール、およびパッケージファイル内の宣言によって決まります。 Application Securityから独立しています。 requireimportを使用するタイミングに関する参考情報と例:
    1. ESモジュール内でサーバのセットアップが完了した場合は、import使用できますし、require使用できます
    2. バージョン14より前のNodeで構築されたアプリケーションの場合は、 require を使用する必要があります。importは、可能性としては使用できますが、アプリケーションの実行時に「--experimental-modules」ノードフラグが存在する必要があります。
    3. 一般に、 require使用する必要があります。ただし、package.jsonファイルに {"type": "module"}が含まれる場合を除きます。その場合、 import使用する必要があります

    詳細については、NodeJSの公式ドキュメントを参照してください。

  3. エージェントのキーとシークレットは、 TREND_AP_KEY および TREND_AP_SECRET環境変数を使用して設定できます。 Key および Secret は、 Group Settings > Group Credentialsにあります。

環境変数を使用する代わりに設定ファイルを使用する場合は、そのファイルを trend_app_protect.json と呼び、アプリケーションのルートフォルダに配置する必要があります。また、少なくとも次を含める必要があります。

{
  "key": "my-key",
  "secret": "my-secret"
}

環境変数 が設定ファイルよりも優先されます。