INSUITE(R)のログインURLを開こうとすると、「存在しないデータが参照されたか、プログラムエラーが検出されました。」というエラーメッセージが表示されてログインすることができません。回避する方法を教えてください。
他システムからINSUITE(R)に対して、RFC準拠していない不正な文字列を含むCookieが渡されると、該当のエラーが表示されログインできない場合があります。
※ログインURLだけでなく、静的コンテンツ(image,js,css等)以外のURLすべてで発生する可能性があります。
発生条件
発生環境:Apache2を利用した環境
※INSUITE(R) Ver.3.3.0インストーラから、Apache2を対応しています。
発生頻度
原因に該当する場合は発生します。
原因
RFC準拠していない不正な文字列(0x09(HT:水平タブ)、0x20(whitespace)、0x2c(comma)、0x3b(semicolon))を含むCookieが渡されることにより、INSUITE(R)が正常に応答を返せない為に、事象が発生します。
問題の解消策
解消策1
- ブラウザのCookieをクリアしてください。一時的に解消することが可能です。
解消策2
- INSUITE(R) Ver.3.5.9にて対応を行う予定です。バージョンアップをご検討ください。
解消策3
- すぐにバージョンアップを実施できない場合は、Apacheで設定することにより、クライアントのリクエストがApacheに届き、INSUITE(R)で処理する前に問題のCookieを除去することが可能となります。
以下、手順となります。
- ブラウザの開発者ツールを使用して、原因となる不正な文字列を含んだCookieが事象を発生させることを確認します。
- 全ての管理・APサーバの「/etc/httpd/custom_conf.d/」配下に「invalid_cookie_filter.conf」ファイル(※)を作成します。
※ファイル名は自由に作成して問題ありません。
# cd /etc/httpd/custom_conf.d # vi /etc/httpd/custom_conf.d/invalid_cookie_filter.conf
- 「invalid_cookie_filter.confファイル」に以下の内容を記載の上、保存してください。
※手順例では「da_test」という文字列が、問題を引き起こすCookie名の例とします。
「da_test」の文字列箇所には、1の手順で確認の上、問題を引き起こすCookie名を記載してください。RequestHeader edit Cookie "da_test=[^;]*;{0,1}" "" early
- ファイルのオーナー、権限設定を行います。
# chown root.root invalid_cookie_filter.conf # chmod 644 invalid_cookie_filter.conf
- apacheの再起動をしてください。
# service httpd restart
適用後の確認方法
- INSUITEにアクセスし、問題なくログインできるかどうか確認してください。