-
Notifications
You must be signed in to change notification settings - Fork 698
Open
Labels
enhancement機能追加機能追加
Milestone
Description
ログインした際に、以下の条件で遷移先が決まるが、これにログインページへ遷移した元のページへ戻れるようにもする。
現在の仕様
<input type="hidden" name="_target_path" value="{遷移先}" />がformタグに含まれる場合は、その URL に遷移する- ログインページが表示された際の URL (ブラウザのURL)が
url('mypage_login')ではない場合は、その URL に遷移する - Firewall 設定に
default_target_pathが設定されている場合は、その URL に遷移する - トップページに遷移する
※この他にも Firewall の設定でいろいろできるようだが省略
実装要件
- ログイン後に元のページ(ログイン画面へ遷移した元のページ)へリダイレクトする
- セキュリティを考慮する
セキュリティについては以下のとおり
@Yangsin
ただし、単純にリファラーを適用してそこへ遷移するとなると
別のサイトにログイン画面のリンクを貼られた場合、ログインを経由して別サイト画面に戻ってしまい、フィッシングなどの危険がありそうですので、リファラーのチェックや正規化を行うような処理が必要ではないかと思っています。
実装案
リファラーを使用する。
ただし、別サイトへ戻ってしまうようになるとフィッシングなどの危険があるため、ドメイン名、ポート番号、app.config.rootなどを使用して正しい遷移先かチェックする。正しくない場合はログインページへ戻る。
※現実的に実装できそうかも検討する余地がある
懸念事項
ref #961 の場合のようにリクエスト時の URL と Webサーバ到達時の URL に差異がある場合にどうするか。
Metadata
Metadata
Assignees
Labels
enhancement機能追加機能追加