質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

92.56%

受付中 サイトAからサイトBへ移動する際Not Found Errorになる

  • HTML

    3407questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • HTML5

    1520questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • Apache

    761questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

  • Python 3.x

    556questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Django

    176questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

2016/11/24 22:04 投稿

2016/11/25 20:44 編集

takaocs score 40

  • 2

    回答

  • 評価

  • 53

    view

現在仕事で以下のような状態となっております。

【サイトA】
他社が作成したサイト。
WordPressを使用。SSLの設定はなし。
OSはCentOS。

【サイトB】
弊社が作成したサイト。
Django1.9.6を使用。WebサーバーはApache。SSL設定。
OSはubuntu14.04。

サイトAにサイトBへ飛ぶリンクがあり、以下のように設定されております。

<a href="サイトBのリンク" target="_blank" rel="noreferrer" >

現在納品先から以下の指摘があり、困惑している状態です。

全ての人ではないのですが、サイトBへ飛ぶ際、Not Found Errorが発生しサイトBへ行けない状態となっております。
サイトAの作成者は、「referrer情報の受け渡しに起因する問題」と言っていて、
根拠としては、上記の「rel="noreferrer"」の部分を削除するとNot Foundエラーが発生するため、サイトB側でリファラーありの場合弾く設定になっているのではないかと指摘されました。
また、サイトAからのリンクではエラーになるが、直リンクではエラーになりません。

試しに、他のサイトにサイトBへのリンクを2種類(「rel="noreferrer"」のあり・なし)設定し確認したところ、エラーが発生してしまします。
Apacheのアクセスログを見る限り、サイトAからサイトBへ移動する際、何らかの理由(ブラウザが古い等)で「rel="noreferrer"」が効かず、Refererが付与されてNot Found Errorが発生してしまうのかもしれないと考えております。

Django1.9.6の場合、SSLを設定する際にsettings.py等に何か必要なのでしょうか。
それともApache等の設定で考えられる箇所、または見落としている箇所があるのでしょうか。

もしも、わかる方や同じような状況になった事がある方がいらっしゃいましたら、アドバイスをいただければと思います。
よろしくお願いいたします。

情報の追加・修正の依頼をする(2)

2016/11/24 22:43

リンクで飛べなかった場合のapatcheのアクセスログとかエラーログとかどうなってますか?あとはリファラってキーワードだと.htaccessの設定がよくやり玉に挙げられてます。Djangoだと見る所はurls.pyぐらい?こいつは関係ないかも。

2016/11/24 22:59

Apacheのアクセスログは「[24/Nov/2016:22:52:11 +0900] "GET サイトBのパス HTTP/1.1" 404 600 "サイトAのURL" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/... Chrome/... Safari/..."」のようになっております。URLは表示しておりません。ご了承ください。エラーログは出ていません。

表示エリアを広げる

閉じる

気になる質問をクリップする

クリップした質問に回答があった場合に通知・メールを受け取ることができます。

クリップした質問はマイページの「クリップ」タブからいつでも見ることができます。

良い質問の評価を上げる

以下のような質問は評価を上げましょう。

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

質問の評価を上げたことを取り消します

この機能は開放されていません

評価を下げる条件を満たしてません

評価を下げる理由を選択してください

上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

質問の評価を下げる機能の利用条件

この機能を利用するためには、以下の事項を行う必要があります。

質問の評価を下げたことを取り消します

回答(全2件)

回答の評価を上げる

以下のような回答は評価を上げましょう。

  • 正しい回答
  • わかりやすい回答
  • ためになる回答

評価が高い回答ほどページの上位に表示されます。

0

この機能は開放されていません

評価を下げる条件を満たしてません

サイトA側がパスワードリセット・リンクの漏洩の対策をされたときに出来たバグなのかもしれません
サイトA側の利用者がパスワードをリセットする場合、メールアドレスから取得したパスワードリセットリンクを使用して表示されたWebページにある外部サイトのリンクをクリックすると、そのリファラーからパスワードリセットリンクが漏洩してしまうというものです。詳しくはこちらのサイトでPOSTD

2016/11/24 22:43 投稿

回答の評価を上げる

以下のような回答は評価を上げましょう。

  • 正しい回答
  • わかりやすい回答
  • ためになる回答

評価が高い回答ほどページの上位に表示されます。

0

この機能は開放されていません

評価を下げる条件を満たしてません

ドメインをまたいでいる所が怪しいですね。CSRF_TRUSTED_ORIGINSって設定がDjangoにあるようです。
(でもpacheのログでGETメソッドでもエラーとなっているので、ちょっと原因ではなさそうですが・・・)

StackOverFlow
DjangoDocument

2016/11/24 23:34 投稿

コメント(1)

2016/11/25 07:46

試しに、他のサイトにサイトBへのリンクを2種類(「rel="noreferrer"」のあり・なし)設定し確認したところ、他のサイトではどちらもサイトBへ移動できます。
特定のサイトからのアクセスを禁止しているわけでもないので、もしかしたらサイトAにも何か設定をしなければならないのでしょうか。

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

92.56%

関連した質問

同じタグがついた質問を見る

  • HTML

    3407questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • HTML5

    1520questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • Apache

    761questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

  • Python 3.x

    556questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Django

    176questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

閲覧数の多いHTMLの質問

関連した質問

メールアドレスで登録

利用規約、及び 個人情報の取り扱いに関する要項をご確認のうえ同意いただける場合は「同意して登録」ボタンをクリックしてください。

SNSアカウントで登録

  • Facebook
  • Twitter
  • Google
  • Github
  • Hatena

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る