リダイレクトの再考
#33 Drupal ドキュメントルートの設定にて設定完了後に出ているエラー
Redirects to external URLs are not allowed by default, use \Drupal\Core\Routing\TrustedRedirectResponse for it.
外部 URL へのリダイレクトを意図的に制限することで、オープンリダイレクト攻撃を防ぐ Drupal のセキュリティ機能です。
プライマリー > hooked-on01.com/public_html/drupal.hooked-on01.com/
インストール先 > hooked-on01.com/public_html/drupal.hooked-on01.com/recommended-project/
プライマリーをDrupalプロジェクト外部として扱っておりインストール先ディレクトリ外へのリダイレクトに対してDrupalがセキュリティ制限をかけてしまっています。
drupal.hooked-on01.com/recommended-project/admin/ が drupal.hooked-on01.com/admin/
にリダイレクトされてしまう為に出ているエラーとなります。
外部へのアクセスを許可する設定をする事で回避出来そうなので、TrustedRedirectResponseなどいくつかの設定を試みましたが、現状エラーを回避できていません。
共用サーバーであるXserverビジネススタンダードの機能面での制約の中で無理やりDrupalのインストールを行なった上での運営となっていることが理由となっています。
サブドメイン直下のディレクトリにDrupalプロジェクトディレクトリを設置
- Apacheの設定は不可
- ドキュメントルートの設定は不可
- .htaccessの設定でURL表示を設定
Drupalの管理画面のURLがリダイレクト設定によりDrupalプロジェクト外部にリダイレクトされていることでセキュリティエラーを出してしまっています。
上記のエラーについて、当サイトをご覧いただいた方から貴重なアドバイスをいただきました。
エラーはログインのリダイレクトや記事保存のリダイレクトなど管理画面でのアクションでページのリダイレクトがかかると出ます。このエラーが私の環境によるものと考えていましたが、アドバイスいただいた方から他にも事例があり、Drupal公式サイトに対策方法が掲載されている事を教えていただきました。
Drupal公式サイトのトピック
元の記事
https://www.drupal.org/project/drupal/issues/2612160#comment-11767977(Opens in a new tab/window)
8年前にDrupalコミュニティに参加しているドイツのエンジニアAndrej Galuf氏が書いたスニペットになります。
こちらに記載されているスニペットをsetting.phpに追加したところ、管理画面のアクションでリダイレクトした際に出ていたエラーが解決しました。スニペットは応急処置的なものですが、私の環境のように共有サーバーを使用している関係でApacheの DocumentRoot や RewriteBase 設定が出来ない場合重宝します。
setting.phpに追加するスニペット
アドバイスへの謝辞
当サイトを含め私が運営するサイトは私自身の学習的な意味合いが強く、記事のテーマや記事の書き方も解りにくく、極めて個人的な事例がメインなので、記事を読んでいただき内容を理解していただいた事や記事内容について適切なアドバイスをいただけるのはありがたいことと感じています。
技術的な内容を適切かつ簡潔な形でアドバイスをいただけるような方なので、私より知識や技術的なリテラシーの高い方ですがそのような方が私の稚拙な記事を読んでいただいていると考えると記事を書くモチベーションになります。
Drupalの記事
関連するDrupalでWEBサイトを構築する為の環境構築の記事やDrupalについて書いた記事になります。
記事は全てナンバリングしています。Drupalを初めて使う為の準備から始まる最初の記事から読む事もできます。
最新の記事
Drupalについて書いた最新の記事になります。
#D38 Private file system is not set.の解消
#D37 Drupal 10.5.0
#D36 Civic Theme 1.10.0
#D34 Colour Generator Problem
Life Styleの記事
Drupalとは関係ないのですがLife Styleの記事も書いていますのでよろしければ購読ください。