問題タブ [plack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
698 参照

perl - Plack :: Middleware :: CSRFBlockをDancerで使用する方法は?

を使用してすべてのフォームをCSRFから保護したいと思いDancerます。

を使用してみPlack::Middleware::CSRFBlockましたが、「CSRFBlockにはSessionが必要です。」というエラーが表示されました。を使用してもPlack::Session、フォームには1つのタイムトークンを含む非表示の入力フィールドがありませんでした。

これを行うための良い習慣はありますか?どんなアドバイスも大歓迎です。

environment/development.ymlは:

ルートは次のとおりです。

0 投票する
1 に答える
595 参照

perl - Poet の Web サイトを Apache2 で実行するにはどうすればよいですか?

現在、スタンドアローン plackup サーバーで (run.pl を介して) Poet Web サイトを実行している場合、この Poet Web サイトをホストするように Apache2 を構成するにはどうすればよいですか?

「+apache2 +poet」で検索すると、(詩を公開するために) Apache2 を使用している詩人に関する多くの結果や、「Mason 2 は Apache/mod_perl 1 で動作する」などの記事が表示されます。それから、 http://metacpan.org/pod/PSGI ::FAQのような文書があり、「Plack では、Apache2 のようなほとんどの Web サーバーを既にサポートしています」と書かれていますが、そのようなサポートがどのように提供されているかについての詳細は一切説明されていません。

既存の Poet Web サイトを Apache で実行するために最低限必要な Apache2 構成ファイルは何ですか?

ここに私の既存のプロジェクトのレイアウトがあります:

これが私の開始時の httpd.conf ファイルです。

http://foo.local/ponies/などの URL を取得してコンテンツを作成するために、Poet Web サイトのどの部分を指し示す必要があるかが示されている限り、適切なドキュメントへのリンクを歓迎します。によって生成され…/Ponies/poet/comps/index.mcます。

0 投票する
1 に答える
634 参照

perl - プラックアップとスターマンの下のダンサー。分岐するとスターマンプロセスが機能しなくなりますか?

ここで私の他の質問へのフォローアップとして: Forking to Run Code in a Child Process With Perl's Dancer - 子をゾンビ状態のままにすることなく、plackup/starman/dancer の下で実行されているリクエストをフォークするにはどうすればよいですか?

私がやろうとしていることの例:

};

... スターマン ワーカーはリサイクルされますが、残ったプラッキング プロセスは機能しなくなります。

perlipc から、私も設定を試みまし$SIG{CHLD} = "IGNORE"たが、役に立ちませんでした。

0 投票する
1 に答える
309 参照

perl - Starman が HUP を受信すると ZMQ ソケットがブロックされる

次のコードがあります。$pub->closestarman サーバーが HUP シグナルを受信したときにメソッドを呼び出したい。

  • 子プロセスが終了したことをどのように知ることができますか?
  • END {} ブロックを使用できますか? 私はこれを試しましたが、plackup が (編集後に) 再起動するとうまくいくようです。私はスターマンでこれを試しました。HUP シグナルを送信しましたが、子プロセスが再起動されません。
  • HUP のシグナル ハンドラーをインストールする必要がありますか? それはどのように機能しますか?

子プロセスがブロックされないと、子が再起動する前にクリーンアップしたいと思います。

これは私が使用する .psgi ファイルです。

0 投票する
1 に答える
115 参照

perl - DancerWebアプリでPlack::Middleware :: DBIC::QueryLogを使用する

ダンサーアプリケーション内でPlack::Middleware :: DBIC::QueryLogを使用しようとしています。ドキュメントには、次のようなクエリログを取得するように指示されています。

データベーススキーマにアクセスする前に、ダンサーアプリでに設定$schema->storage->debugobj する必要がありQueryLoggerます。$env私の質問は、使用することになっているQueryLogオブジェクトを含むPlackが提供する環境にアクセスするにはどうすればよいですか?

ダンサーアプリケーションを次のように開始します

ここapp.plにデフォルトが含まれています

0 投票する
1 に答える
145 参照

movabletype - PSGI/Plackを使用したMovableType5.2.3の警告

Apacheリバースプロキシの背後でPSGI/Plackの下でMT-5.2.3を実行しています。サーバーはスターマンです。Plackログには、呼び出しごとに警告が表示されます。

警告:Plack :: App::DirectoryインスタンスをPSGIコード参照に自動的に変換します。リクエストごとにこの警告が表示される場合は、PSGIファイルでto_app()、つまりPlack :: App :: Directory-> new(...)->to_appを明示的に呼び出す必要があります。

これを修正するにはどうすればよいですか?AFAICS、株式mt.psgiはすでに呼び出していますMT::PSGI->to_app()

ありがとうございました。

0 投票する
1 に答える
253 参照

perl - Plack::Builder - 最後の行はマウントを使用していません - エラーメッセージ

次のシンプルな Plack アプリを用意します。

リターンのエラー:

しかし、次のビルダー ブロックは問題ありません。

Plack::Builder のマニュアルに書かれているよりも理解しています

注: ビルダー コードでマウントを使用したら、ルート パス (/) を含むすべてのパスに対してマウントを使用する必要があります。

しかし、forループでは/最後のものとしてマウントを持っているqw( /some/aa /another/bb / )ので、何かが舞台裏にあります

誰か説明してくれませんか?

0 投票する
3 に答える
1825 参照

perl - Plack/PSGI/Poet アプリケーションを使用した認証および/または HTTPS

シンプルな Web アプリケーションを構築する必要があります。Plack を使用するPoet ( Mason2 ) で行うことにしました。

アプリケーションは認証されたユーザーのみが使用できるようにする必要があるため、ログイン/パスワード機能を構築する必要があります。

チェックなどのセットアップを可能にする Basic ユーザー認証を使用できるPlack モジュールPlack::Middleware::Auth::Basic.htpasswdが既にあります。しかし、基本認証はあまり安全ではありません。誰でもパケットキャプチャなどでログインパスワードを取得できます。

考えられる解決策は次の 2 つです。

  • HTTPS(443) 経由で app.psgi を実行 - リンクレベルの暗号化
  • または、httpsなしで安全な認証を可能にするより良い認証方法はありますか?

質問:

  • HTTPS について - HTTPS 経由で実行する方法がわかりませんapp.psgi。アプリケーションを多少変更する必要がありますか? plackuphttpsを介して実行する方法を示すリンクはありますか?
  • または 2 つ目:標準の暗号化されていないポートを介して安全な認証を構築できる方法 (ミドルウェア/または perl モジュール) はあり ますか?(80)

では、Plack アプリケーションで安全な認証を実現する比較的簡単な方法は何でしょうか?

PS: 残りの通信は気にしません。パスワードの取得を許可しない安全な認証のみが必要です。

PPS: https は、apache (および自己署名) 証明書を使用すると簡単です。しかし、plackup(およびまたは他のPlackベースのサーバー)でそれを行う方法がわかりません