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

Opened 10 years ago

Closed 10 years ago

#4367 closed defect (fixed)

携帯URLに含まれるセッションパラメータをサイト内に書き込んだ際に表示しないようにする

Reported by: imamura623 Owned by: shingo
Priority: critical Milestone: OpenPNE2.14.4
Component: pne-ktai Version: 2.12.x & 2.14.x
Keywords: OpenPNE2.12.17 Cc:

Description (last modified by imamura623)

■現象

SNS内の携帯版URLに含まれるセッションパラメータ(例:?ksid=xx・・・xxx)を日記などのサイト内に書き込んだ際に表示しないようにする

■原因

■修正内容

セッションパラメータを表示しない(?ksid以下を表示しないようにする)

■関連情報

報告元 http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=22453より転記

携帯ユーザが日記で足跡帳などを作成し
ほかのユーザにURLを教えるときに
自分のプロフィールページや他の日記、サイト内メッセージ、他サイトの掲示板
等にセッションID入りのURLを記載してしまうことがあります。
他サイトの場合は投稿する事自体を止めるのはお手上げ状態かと思いますが
プロフィールページや他の日記の場合はサイト内PCURLの携帯URL置き換えと同じ要領でセッションパラメータ無しのURLに置き換えた方がよいと思います。
メッセージの場合
kaz_aさんの
http://sns.openpne.jp/?m=pc&a=page_c_topic_detail&target_...
みたいにしないと無理かもですが...

これを実装して規約などでSNS外部にサイトのURLを記載することを禁止すれば
ハイジャックの危険性&責任は大分回避できるかも 

Attachments (1)

4367.jpg (37.2 KB) - added by imamura623 10 years ago.

Download all attachments as: .zip

Change History (29)

comment:1 Changed 10 years ago by kiwa

Milestone: OpenPNE2.14.4
Priority: majorcritical
Type: enhancementdefect
Version: 2.12.x & 2.14.x2.14.x

ひとまず2.14 のみで対応しましょう。

comment:2 Changed 10 years ago by imamura623

Keywords: 要望 removed
Summary: 携帯URLに含まれるセッションパラメータを表示しないようにしたい携帯URLに含まれるセッションパラメータをサイト内に書き込んだ際に表示しないようにする

comment:3 Changed 10 years ago by kudo

実装の方針についてですが、2通りありどちらが良いか判断できません。

方法1

  • 日記、メッセージ、プロフィールなどを保存する際に、文中にOpenPNE内のURLでありセッションパラメータが含まれていたら削除する。

この方法だとユーザーが書き込みが可能な場所全てを修正する必要があると思います。(コミュニティトピックのコメント、日記のコメントなど)

方法2

  • セッションパラメータも含んでデータベースに保存はするが、表示する際には削除して表示する。

こちらの方法であれば、本質的な修正では無いですが修正箇所が少なくなります。

(Webapp/lib/smarty_plugins/modifier.t_url2a_ktai.phpと

Webapp/lib/smarty_plugins/modifier.t_url2a.phpの修正)

また、以上の二点よりも良い修正方法があればお願いします。

comment:4 Changed 10 years ago by kudo

上記の方法についてshingoさん、ogawaさんより以下の指摘がありました。

  • 方法2の場合はt_url2a.php、t_url2a_ktai.phpだけではなく、携帯の表示部分全体に処理をすべきである。
  • 日記やメッセージなどはメールで通知される場合があるのでデータベースに保存する前にセッションパラメータを削除するのが好ましい。

これらを踏まえて次のような方針を立てました。

  • URL中のセッションパラメータはデータベースに保存する前に削除する。
  • webapp/modules以下のテンプレートなどの修正を行うと修正箇所が多くなってしまうので、webapp/lib/db内のファイルを修正する。
    • ユーザが投稿した文章中に表れたSNS内のURLに含まれているセッションパラメータを削除するための関数をetc.phpに追加する。

修正方法は、日記登録であればdiary.phpのdb_diary_insert_c_diaryでデータベースに登録される前にetc.phpに追加した関数を呼び出す、というような処理を付け加える方法です。

comment:5 Changed 10 years ago by kudo

Owner: changed from nobody to kudo
Status: newassigned

comment:6 Changed 10 years ago by kudo

Keywords: 確認中 added

2.14.xのみ個人用ブランチにて修正を行いました。(r13187,r13188)

タイトルや本文中にSNS内のURLが書かれており、セッションパラメータを含む場合削除するようにしています。

また、レビューは携帯では利用できないのでセッションパラメータを削除する処理を入れていません。確認お願いします。

comment:7 Changed 10 years ago by imamura623

Description: modified (diff)
Owner: changed from kudo to shingo
Status: assignednew

comment:8 Changed 10 years ago by ShogoKawahara

コードチェックします

comment:9 Changed 10 years ago by shingo

引き継ぎます

comment:10 Changed 10 years ago by shingo

Keywords: 差し戻し added; 確認中 removed

お知らせメール本文内にPOSTされた書き込みを直接渡している箇所があるので、修正します。

comment:11 Changed 10 years ago by shingo

branchの変更分をtrunkにmergeしました。

comment:12 Changed 10 years ago by shingo

以下のお知らせメール内に添付される本文に対応しました。

コミュニティ参加お知らせメール
イベント紹介メッセージお知らせメール
メンバー紹介メッセージお知らせメール
コミュニティ紹介メッセージお知らせメール
イベントお知らせメッセージお知らせメール
承認メッセージお知らせメール
メッセージお知らせメール

管理者交代希望メッセージ
副管理者要請メッセージ

comment:13 Changed 10 years ago by shingo

以下のお知らせメールは、DBの値を参照しているため影響がないことを確認しました。

コミュニティ書き込み通知メール
日記コメント書き込み通知メール
コミュニティ書き込み通知メール
フレンドリンク承認完了メール

comment:14 Changed 10 years ago by shingo

Keywords: 確認中 added; 差し戻し removed

Changed 10 years ago by imamura623

Attachment: 4367.jpg added

comment:15 Changed 10 years ago by imamura623

Keywords: 差し戻し added; 確認中 removed

メール投稿によるアルバム作成で、メール件名にセッションIDつきのURLを入力してアルバム作成するとアルバムタイトルに一部セッションIDが残ってしまいます。

  • docomo SH-05Aでテスト実施

http://trac.openpne.jp/attachment/ticket/4367/4367.jpg

上の画像のタイトル部分をご参照ください

comment:16 Changed 10 years ago by imamura623

追加です。

  • 紹介文作成でセッションIDつきのURLが表示されます

comment:17 Changed 10 years ago by imamura623

さらに追加です。

  • コミュニティイベント作成画面の開催日と開催場所の補足欄にセッションIDつきのURLが表示できる
  • bizモード時、携帯からスケジュール作成でタイトルにセッションIDつきのURLが表示できる
  • bizモード時、todoリストにセッションIDつきのURLが表示できる

comment:18 Changed 10 years ago by fukamachi

Keywords: 確認中 added; 差し戻し removed

以下の2つは再現しなかったため修正しませんでした。

  • 紹介文作成でセッションIDつきのURLが表示されます
  • bizモード時、携帯からスケジュール作成でタイトルにセッションIDつきのURLが表示できる

その他は以下のリビジョンで修正しました。

comment:19 in reply to:  18 Changed 10 years ago by fukamachi

Wiki記法をミスったので再投稿。

--

以下の2つは再現しなかったため修正しませんでした。

  • 紹介文作成でセッションIDつきのURLが表示されます
  • bizモード時、携帯からスケジュール作成でタイトルにセッションIDつきのURLが表示できる

その他は以下のリビジョンで修正しました。

comment:20 Changed 10 years ago by fukamachi

過去のセッションパラメータは表示しても問題ないため、テンプレートへの修正を削除しました。

comment:21 Changed 10 years ago by shingo

bizに対応しました。

comment:22 Changed 10 years ago by ShogoKawahara

コードチェックの件

現段階までの変更や内容は問題ないと判断します

一応、以下の点が問題ないかだけをもう一度確認

  • レビュー機能 (上記でもあったとおり、携帯では対応していないため対応していないとのことです)
  • 管理画面からの投稿 (上と同様に対応が必要ないと判断されれば、こちらも対応する必要はないでしょう)
  • 過去の投稿の表示

comment:23 in reply to:  1 Changed 10 years ago by imamura623

Keywords: OpenPNE2.12.17 確認中 added; 確認中 removed
Version: 2.14.x2.12.x & 2.14.x

Replying to kiwa:

ひとまず2.14 のみで対応しましょう。

上記のコメントを撤回し、2.12でも対応することにします。

comment:24 Changed 10 years ago by shingo

trunkとの差分を修正しました

comment:25 in reply to:  24 Changed 10 years ago by shingo

Replying to shingo:

trunkとの差分を修正しました

上記の件、2.14での対応です

comment:26 Changed 10 years ago by shingo

2.12に変更分をmergeしました

comment:27 Changed 10 years ago by imamura623

Keywords: OpenPNE2.12.17 added; OpenPNE2.12.17 確認中 removed

テスト実施しました。stable-2.12.x、stable-2.14.xともにOKです。

  • 管理画面からのセッションIDつきURLの入力は頻度が低いとして対応を見送ります
  • レビュー機能に関しても携帯から入力出来ないうえ、閲覧も出来ないので対応を見送ります
  • 過去に投稿されたものでセッションIDつきのURLについては、既にセッションの有効期限が切れているとして削除動作を実施しません

comment:28 Changed 10 years ago by imamura623

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.