ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#605 closed defect (fixed)

URL自動リンクの区切り判定がおかしい

Reported by: ebihara Owned by: takanashi
Priority: trivial Milestone:
Component: core【OpenPNEコア部分】 Version:
Keywords: Cc:

Description

http://www.openpne.jp/ticket/377より転記

自動リンク処理の区切り文字判定について

例えば、

 <http://www.ドメイン.com/page.html>

と記述された場合、続くことはないだろう“>”も含まれてしまいます。よって、クリックしても正しいページが表示できません。

リンク先がCGIなど引数の場合、思わぬ動作の恐れがありませんか?反対にCGI中の引数に>が含まれることがあるなら、どこで区切るのか??

Change History (9)

comment:1 Changed 14 years ago by ebihara

Component: 100,000,000PV【1億PVプロジェクト】core【OpenPNEコア部分】
Milestone: OpenPNE2.6.6
Owner: changed from nobody to ebihara
Priority: minormajor

対応します。

comment:2 Changed 14 years ago by ebihara

RFC3986(Uniform Resource Identifiers (URI): Generic Syntax) http://www.ietf.org/rfc/rfc3986.txt (日本語訳はこちら:http://www.studyinghttp.net/cgi-bin/rfc.cgi?3986#SecC

Appendix C.  Delimiting a URI in Context
 :
   In practice, URIs are delimited in a variety of ways, but usually
   within double-quotes "http://example.com/", angle brackets
   <http://example.com/>, or just by using whitespace:

ということらしいです。

また、

   For robustness, software that accepts user-typed URI should attempt
   to recognize and strip both delimiters and embedded whitespace.

とまで言われているので、ホワイトスペースの除去まではいかなくとも、山括弧についてはURLとして認識しない方が良さそうですね。

comment:3 Changed 14 years ago by ebihara

<や>が&lt;&gt;として渡されていたのが原因でした。&や;などはURLを構成するものとして正しい文字なので、自動リンクの対象になってしまいます。

r2445で&lt;と&gt;を山括弧に変換してから preg_replace_callback() に渡すよう修正しました(実際に表示されるテキストには影響を与えない)。

comment:4 Changed 14 years ago by ebihara

Owner: changed from ebihara to takanashi

ご確認よろしくお願いします。

comment:5 Changed 14 years ago by ebihara

r2446で2.8系のコードへも同様の対処を行いました。

comment:6 Changed 14 years ago by takanashi

確認します。

comment:7 Changed 14 years ago by takanashi

Resolution: fixed
Status: newclosed

comment:8 Changed 14 years ago by takanashi

バグってたのでrevertしました

comment:9 Changed 14 years ago by takanashi

Milestone: OpenPNE2.6.6いつかどこかで
Priority: majortrivial

対処差し戻し。修正時期は未定

Note: See TracTickets for help on using tickets.