Ticket #4367 (closed defect: fixed)

Opened 7 years ago

Last modified 7 years ago

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

Reported by: pnetan Assigned to: 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

4367.jpg (37.2 kB) - added by imamura623 on 01/26/10 17:32:52.

Change History

(follow-up: ↓ 23 ) 11/18/09 16:18:34 changed by kiwa

  • priority changed from major to critical.
  • version changed from 2.12.x & 2.14.x to 2.14.x.
  • type changed from enhancement to defect.
  • milestone set to OpenPNE2.14.4.

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

11/19/09 16:30:22 changed by imamura623

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

11/30/09 16:36:13 changed by kudo

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

方法1

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

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

方法2

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

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

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

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

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

12/02/09 14:59:20 changed 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に追加した関数を呼び出す、というような処理を付け加える方法です。

12/02/09 17:43:00 changed by kudo

  • owner changed from nobody to kudo.
  • status changed from new to assigned.

12/02/09 18:31:12 changed by kudo

  • keywords set to 確認中.

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

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

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

01/25/10 18:35:21 changed by imamura623

  • owner changed from kudo to shingo.
  • status changed from assigned to new.
  • description changed.

01/25/10 19:16:50 changed by kawahara

コードチェックします

01/25/10 21:04:50 changed by shingo

引き継ぎます

01/25/10 21:06:14 changed by shingo

  • keywords changed from 確認中 to 差し戻し.

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

01/25/10 21:07:33 changed by shingo

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

01/25/10 21:27:14 changed by shingo

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

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

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

01/25/10 21:28:06 changed by shingo

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

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

01/25/10 21:28:23 changed by shingo

  • keywords changed from 差し戻し to 確認中.

01/26/10 17:32:52 changed by imamura623

  • attachment 4367.jpg added.

01/26/10 17:34:53 changed by imamura623

  • keywords changed from 確認中 to 差し戻し.

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

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

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

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

01/26/10 19:02:30 changed by imamura623

追加です。

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

01/27/10 14:49:29 changed by imamura623

さらに追加です。

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

(follow-up: ↓ 19 ) 01/27/10 18:47:12 changed by fukamachi

  • keywords changed from 差し戻し to 確認中.

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

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

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

* r13298 (stable-2.14.x) * r13299 (trunk)

(in reply to: ↑ 18 ) 01/27/10 18:48:35 changed by fukamachi

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

--

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

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

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

01/27/10 19:02:34 changed by fukamachi

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

01/27/10 20:00:06 changed by shingo

bizに対応しました。

01/27/10 20:48:08 changed by kawahara

コードチェックの件

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

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

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

(in reply to: ↑ 1 ) 01/28/10 12:08:00 changed by imamura623

  • keywords changed from 確認中 to OpenPNE2.12.17 確認中.
  • version changed from 2.14.x to 2.12.x & 2.14.x.

Replying to kiwa:

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

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

(follow-up: ↓ 25 ) 01/28/10 12:41:00 changed by shingo

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

(in reply to: ↑ 24 ) 01/28/10 15:10:02 changed by shingo

Replying to shingo:

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

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

01/28/10 15:10:29 changed by shingo

2.12に変更分をmergeしました

01/28/10 17:26:39 changed by imamura623

  • keywords changed from OpenPNE2.12.17 確認中 to OpenPNE2.12.17.

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

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

01/28/10 17:32:11 changed by imamura623

  • status changed from new to closed.
  • resolution set to fixed.