プロジェクト

全般

プロフィール

Bug(バグ) #1675

完了

設定ファイルを記述し忘れた場合に、招待メールに記載されたURLにアクセスできない

pnetan   さんが約14年前に追加. 13年以上前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2010-10-14
期日:
進捗率:

100%

予定工数:
3.6 で発生するか:
Yes
3.8 で発生するか:

説明

http://sns.openpne.jp/communityTopic/6423 より転記

招待メールに記載されたURLにアクセスできません。

<動作環境>
OpenPNE3.6beta5
CentOS5(OpenVZの仮想環境)
PHP 5.2.11
mysql Ver 14.14

招待状に記載されていたURL
http://ドメイン名/member/register/token/3228758dcc32ffb79b61ee61deb73c1b1

実際に利用できた(手で書き換えた)URL
http://ドメイン名/sns/web/member/registerInput/token/3228758dcc32ffb79b61ee61deb73c1b1

登録完了メールには以下の正しいURLが記載されていました。
(このURLでOpenPNEにアクセス可能)
http://ドメイン名/sns/web/

本チケットで扱う問題

note-14 のコメントを以て、

  • 「設定ファイルを正しく設定したにもかかわらず、招待メールに記載されたURLにアクセスできない」という報告された問題は「再現せず」と判断する
  • 「設定ファイルを正しく設定していない場合に、招待メールに記載されたURLにアクセスできない」という問題に対応する

このようにこのチケットで扱う問題を切り替えます。具体的に何を問題として、何を修正するかについては note-9 以降を参照してください。

(追記:)設定ファイルを正しく設定していない状況は、SNS設置者のミスと見做されそうではあるが、OpenPNE側にも #1749 (OpenPNE2からのアップグレードガイドに OpenPNE.yml を作成する説明がない)のような問題があり、一概に「設定ファイルを記述し忘れていることが悪い」と言い切れるものではないことを示しておく。

現象

【*NG】と示したものは、適切なURLが出力されていませんが、問題とみなす必要はないものです。

上記について説明を示します:

  • case1 は「設定ファイルを正しく記述した場合」で、適切なURLが出力されています
  • case2 は「設定ファイルを不正に記述した場合」で、URLは不適切ですが、これは設定ファイルを不正に記述していることが原因であるため問題とみなす必要はありません
  • case3, case4 は「設定ファイルを記述していない場合」で、招待メールのSNS参加リンクのドメインを見ると『ドメインを補完しようとしているが、サブディレクトリが抜け落ちている』という不自然な状態になっています

補足

サブディレクトリが抜け落ちると示していますが、厳密には「末尾のディレクトリ名が抜け落ちる」というものです。

note-9 で示されていますが、 dirname() 関数がパスの最後のディレクトリを除去してしまうという仕様に基づく問題です(dirname() の仕様が問題というよりは、当該部分で dirname() を用いていることが原因です)。

dirname('/usr/bin/ls') => '/usr/bin'
dirname('/usr/bin/') => '/usr'
dirname('/usr/bin') => '/usr'
dirname('/etc/') => '/'

対応すべき問題

case3, case4 の場合に、招待メールのURL(base_url相当部分)の補完が不十分であり、不自然なURLを生成してしまっているため、これを修正する。

  • 修正前の動作
    • 前提:サブディレクトリ(パス)を持つようなURLでSNSにアクセスする環境で、case3, case4 の場合、
    • 招待メールにおいて、SNS参加リンクのサブディレクトリ部分の末のディレクトリ名が抜け落ちる
  • 修正後の動作
    • 前提:サブディレクトリ(パス)を持つようなURLでSNSにアクセスする環境で、case3, case4 の場合、
    • 招待メールにおいて、SNS参加リンクが適切なURL(新規登録画面に遷移できるURL)となっている

関連するチケット 7 (0件未完了7件完了)

関連している OpenPNE 3 - Bug(バグ) #2008: config/OpenPNE.yml で80番以外のポート番号を含むURLをbase_urlに指定した場合、通知メール等に含まれるURLにポート番号が反映されないFixed(完了)Yuya Watanabe2011-04-19

操作
関連している OpenPNE 3 - Backport(バックポート) #2120: 設定ファイルを記述し忘れた場合に、招待メールに記載されたURLにアクセスできない Fixed(完了)Yuya Watanabe2011-05-192011-10-06

操作
関連している OpenPNE 3 - Bug(バグ) #1155: There are wrong URL generating for op_base_url with path name (パス名付きの op_base_url に対して誤った URL 生成をしている箇所がある)Fixed(完了)Kousuke Ebihara2010-06-08

操作
関連している OpenPNE 3 - Backport(バックポート) #2173: 設定ファイルを記述し忘れた場合に、招待メールに記載されたURLにアクセスできないFixed(完了)Maki Takahashi2011-06-09

操作
関連している OpenPNE 3 - Bug(バグ) #1577: OpenPNE.ymlのbase_url にパスが含まれない場合に、デバッグモードでwarningメッセージが表示される場合があるFixed(完了)Shogo Kawahara2010-09-10

操作
関連している OpenPNE 3 - Bug(バグ) #1749: OpenPNE2からのアップグレードガイドに OpenPNE.yml を作成する説明がないFixed(完了)Mutsumi Imamura2010-10-28

操作
関連している OpenPNE 3 - Bug(バグ) #1687: パスワード再発行処理を行なおうとすると http://opauthmailaddress/ に飛ばされてしまう Fixed(完了)Masato Nagasawa2010-10-15

操作

他の形式にエクスポート: Atom PDF