efw elFinder ファイルマネージャーサンプル

概要

efwフレームワークはelFinderファイルマネージャーを統合しており、シンプルなタグでWebアプリケーションに完全なファイル管理機能を実現します。elFinderはJavaScriptとPHPベースの一般的なファイルマネージャーであり、efwフレームワークはこれをカプセル化し、Javaコネクタを提供し、JSPタグ形式で提供します。

コアファイル

  1. 基本使用法サンプル: helloElfinder.jsp
  2. セキュリティ設定テストサンプル: helloElfinder4.jsp

機能特性

1. 基本使用

elFinderはシンプルなタグ呼び出しで使用可能:

<efw:elFinder home=""/>

2. パス設定

相対パスと絶対パスの2つのモードをサポート:

<!-- 相対パス -->
<efw:elFinder home="upload"/>

<!-- 絶対パス -->
<efw:elFinder home="C:\Windows\Microsoft.NET\Framework64" isAbs="true"/>

3. セキュリティ設定

efwはパスに..が含まれる場合にエラーを検出します。さらに様々なセキュリティ設定オプションを提供:

保護モード (protected="true")

読み取り専用モード (readonly="true")

// 読み取り専用モード切り替え
elfinder1.setReadOnly(true);  // 読み取り専用を有効化
elfinder1.setReadOnly(false); // 読み取り専用を無効化

絶対パスモード (isAbs="true")

ログ保存関数 (saveLogFunc="myFunc")

4. API機能

elFinderコンポーネントは必要なJavaScript APIを提供:

// カレントディレクトリ変更
elfinder1.setHome('C:/EFW_ALL');

// 読み取り専用モード切り替え
elfinder1.setReadOnly(true);

セキュリティ注意事項

1. パストラバーサル防止

2. ファイル操作リスク

3. ディレクトリサイズ制限

4. ネットワーク環境考慮

使用推奨事項

  1. 開発環境: 様々なディレクトリへのアクセスを容易にするため絶対パスを使用可能
  2. 本番環境: 相対パスと保護モードを使用し、特定ディレクトリ内に制限
  3. 機密操作: 誤操作防止のため読み取り専用モードを組み合わせ
  4. パフォーマンス考慮: 大量ファイルを含むディレクトリの指定を回避

拡張機能

1. ファイルプレビュー

elFinderは多种ファイルタイプのプレビューをサポート:

まとめ

efwのelFinderコンポーネントは強力で便利なファイル管理機能を提供し、シンプルなタグ呼び出しでデスクトップエクスプローラー類似の体験を実現します。適切なセキュリティオプションの設定により、利便性と安全性のバランスを取ることができ、様々なWebアプリケーションシナリオに適用可能です。

使用時はパスセキュリティと権限制御に特に注意し、潜在的なセキュリティリスクを回避する必要があります。本番環境では、相対パス、保護モード、適切な読み取り専用制限の使用を推奨し、システムセキュリティを確保します。