スケジューラから実行されているか、ブラウザから実行されているかをColdFusionアプリケーションが知る方法はありますか?理想的には、アプリケーション全体で使用されるApplication.cfmの "isScheduled"などのセッションフラグを設定したいと思います。Coldfusion:スケジューラによって実行されているかどうかの検出
EDIT 私はユーザーエージェントをチェックすることになった、それは(セキュリティを向上させるために)ローカルで実行され、そのページがフォルダ内にあること(それ以降のApplication.cfmで実行されている)がいます....
Request.isScheduled = FindNoCase("CFSCHEDULE",CGI.HTTP_USER_AGENT) and (Find("10.",CGI.REMOTE_ADDR)==1 or Find("198.162.",CGI.REMOTE_ADDR)==1) and FindNoCase("scheduled",CGI.CF_TEMPLATE_PATH);
なぜ単にクエリ文字列パラメータを渡して決定を下すことができないのですかその上に? – Candide
フラグの用途の1つは、使用をバイパスすることです(エンタープライズ・レベルの中央認証サービス・ページへのリダイレクトを使用する)認証をスケジューラーが実行しているときに実行しますが、それ以外の場合はすべて認証が必要です。私が含めるクエリパラメータを知っているのは唯一の人ではありますが、ハッキングの可能性が開かれます。 –
ユーザエージェントを確認することはもはや安全ではありません。 FireFoxで私のユーザエージェントを簡単に変更することができます。アドオンのUser Agent Switcherも簡単に変更できます。私はテストのためにこれを常に行います。 – Yisroel