cFos PNet標準スクリプト
cFos PNetに同梱されているスクリプトは、JavaScriptでサーバー機能を実装する方法を示している場合があります。これらは、jQueryのようなクライアント側のブラウザースクリプトで使用するように設計されています。慣例により、サーバー側スクリプトは拡張子.jssを使用し、クライアント側スクリプトは拡張子.jsを使用します。つまり、cFos PNet *は* .jssファイルを実行し、.jsファイルをブラウザーに送信します。
Visual StudioまたはVisual Web Developerでスクリプトデバッグを使用できます。スクリプトのデバッグには、リモートデバッグをサポートするVisual StudioまたはVisual Web Developerバージョンが必要です。 Visual Studio Professional Edition。スクリプトのデバッグを有効にするには、キー設定enable_script_debugging=1セクションで[param]ファイルのGLOBAL.INIでc:\programdata\cFos\cFosPNetフォルダ。
スクリプトデバッガをインストールしていない場合は、これを0に設定します。そうしないと、一部のマシンでスクリプトが止まる可能性があります。 -enable_script_debuggingまたは-esdコマンドラインスイッチを使用して-enable_script_debuggingロードし、このプログラムの起動時にスクリプトのデバッグを有効にすることもできます。
スクリプトベースのユーザー管理と認証
でpubフォルダのサブフォルダのあるusers 、あなたのCFO PNETサーバー上にアカウントを持つすべてのユーザーのためのサブフォルダを持ちます。ユーザーのパスワードまたはその他のオプションのプロファイルデータは、 PROFILE.TXTという名前のハッシュリストに保存されます。これにより、cFos PNetビルトインHTTP認証による高速でキャッシュされたアクセスが可能になります。パブリックフォルダーには、すべてのユーザーのサブフォルダーを持つサブフォルダーwwwもあります。このフォルダには、そのユーザーのダウンロード可能なファイルを含めることができます。 file_op.jssスクリプトにより、ユーザーはこのフォルダーにファイルをアップロードすることもできます。
スクリプトは、それぞれの.htaccess設定に従って認証を実行します。そのため、ディレクトリが属するユーザーに適切なユーザー資格情報が必要です。
ここで、スクリプトの簡単な説明。ソースコードを見て、どのように機能するかを確認する必要があります。 | |
makedir2.jss | index.htmまたはindex.htmlファイルが要求されたディレクトリに存在しない場合、cFos PNetはこのスクリプトを開始してディレクトリリストを生成します。 |
file_op.jss | 上記の認証に従ってファイル操作を実行します。ファイル操作はrename 、 delete 、 mkdir 、フォルダーを作成してアップロードします。通常、アップロードには認証が必要です。ブラウザーは常にアップロードされたファイル全体を最初にサーバーに送信し、次に認証情報を取得するため、ブラウザーはファイルを2回送信します。ブラウザに最初に認証情報を提供するために、 file_op.jssスクリプトはアップロードのプリフライト操作をサポートします。ブラウザは、Ajax要求を使用して、サーバーにHTTP認証応答を要求し(401)、実際のアップロードに自動的に使用します。アップロードはupload.jss関数によって処理されます。この関数はcFos PNetのファイルオブジェクトを使用して、任意のサイズのファイルのアップロードを許可します。 |
user_op.jss | 基本的なユーザー管理機能を実行します: createおよびdelete 、 reset passwordおよびlist 。認証にはadminユーザーが必要です。 |
list_op.jss | ハッシュリストはcFos PNetで重要な役割を果たすため、 list_op.jssはAjaxリクエストで利用可能な基本的なリスト操作を提供します。上記と同じ認証スキームが実行されます。つまり、スクリプトの場所に応じて、認証が必要なユーザーが選択されます。認証は、それぞれの.htaccessファイルのディレクティブに従って行われます。 list_op.jssは次の操作を提供します。 getハッシュリストの値のリストを取得します。 setキーのリストを値のリストに設定します。 saveスナップショットをディスクに保存ます。 eraseキーのリストを消すます。 clearすべてのキーをclearします。 removeメモリ/ディスクからリストremove削除します。 sizeリストのサイズ返します。 listハッシュリスト内のすべての要素をリストします。 dyndns.htmのAjaxは、これらの操作を使用してDynDNS構成情報をセットアップします。 |
dyndns.jss | プライベートフォルダーのハッシュリストdyndns.txtデータを使用して、DynDNSの登録または登録解除を実行します。 |
get_connections.jss | 現在のHTTP接続を表示するために使用されます。 HTTPはTCPを介して行われます。 HTTP要求を高速化するために、ブラウザーはHTTP要求にTCP接続を再利用しようとします。実際のHTTP要求は、短いメッセージと応答のみです。その後、ブラウザは数秒後にTCP接続を閉じます。したがって、ユーザーは短時間しか表示されない場合があります。認証が成功した場合、ユーザーの名前もユーザーのIPアドレスとともに返されます。 |
stretch.jss | Webページが使用する形式に画像のサイズを変更することは常にWebマスターの負担になるため、cFos PNet画像オブジェクト(GDI +)を使用する小さなスクリプトを実装しました。 URLのクエリ文字列でファイル名とw (幅)およびh (高さ)パラメーターを使用します。画像のサイズが任意の場合、1つのパラメーターのみを使用して画像の縦横比を維持する必要があります。 makedir2.jssは、このスクリプトへのリンクを使用して、現在のフォルダーに保存されている画像のサムネイル画像を表示します。 |
utils.jss | サーバー側のスクリプトを簡素化するユーティリティ関数の一覧。次の機能を提供します。 -Webサーバーオブジェクトとその機能をラップします。 -いくつかの便利な関数を使用してJavaScript Stringオブジェクトを拡張します。 -クエリ文字列またはPOST使用されるフォームデータのいずれかのスクリプトパラメータ評価を実行します。 -小さなファイルの読み込み、保存、送信(メール経由)。 -Cookieで使用されるrfc 1123日付。 - クッキー。 -単純なXML変換関数。 大規模なプロジェクトにcFos PNetを使用する場合、単純な付属のスクリプトファイルではなく、機能ユニットをモジュールにパッケージ化することができます。 cFos PNetは、common.jsイニシアチブのモジュール仕様のサポートを提供します。 |
cFos Personal Netのドキュメント
cFos Personal Netのドキュメント
cFos Personal Netに含まれている標準スクリプトのドキュメント