1

メールボックスからコンテンツをフェッチし、いくつかの「更新」要求をWebPageバックエンド(Zend_Framework上)に送信するメールパーサースクリプトを作成しています。

アイデアは、mailChecker.phpファイルをスタンドアロンにして、CronJobで呼び出すことです。

更新URLを呼び出そうとするまで、すべて正常に機能します。

file_get_content("http://mySite.com/update-item/id/1");

フレームワークは私のリクエストをログインフォームにリダイレクトします...

これを修正する最もクリーンな方法は何でしょうか?ログイン機能をあまり編集したくない

特定のリクエストの認証チェックをスキップする方法はありますか?(ここではセキュリティは大きな問題ではありません)

または、更新を呼び出す前にスタンドアロンスクリプトのセッションを作成する簡単な方法:file_get_content( "http://mySite.com/easy-auth/admin/admin");

シンプルで醜い解決策を探しているので、現在の認証をあまり編集しません。

4

2 に答える 2

1

更新URLを呼び出す前に、通常どおりに認証しないのはなぜですか?単純なセッションベースの認証がある場合は、ログインの詳細を渡してCookiejarを有効にするログインアクションをカールさせることができます。次に、もう一度カールして、更新スクリプトからデータを取得します。

別の解決策として、セキュリティ要件が実際にない場合は、ローカルホストからの着信要求の認証チェックを無効にするだけです。

于 2012-12-11T11:07:26.843 に答える
0

私はあなたが迅速で汚い解決策を求めていることを知っていますが、これは貧弱な設計です。cronジョブは、update-itemアクションが実行するコードを(できれば複製せずに)実行する必要があります。自分のサイトにWebリクエストを送信すると、cronジョブの速度が低下し、サーバーに不要な負荷がかかり、現在発生している問題とまったく同じ問題が発生します。

更新アイテムロジックを、コントローラーが呼び出すサービスクラスに移動することをお勧めします。その後、cronジョブから同じメソッドを呼び出すことができます。これは、よりクリーンで高速で、単体テストが容易です。

于 2012-12-11T11:09:37.033 に答える