Project

General

Profile

Bug(バグ) #1635

SNS名称変更で入力した値がエスケープされていない

Added by Hiroki Mogi about 9 years ago. Updated about 4 years ago.

Status:
Fixed(完了)
Priority:
High(高め)
Assignee:
Target version:
Start date:
2010-10-01
Due date:
% Done:

100%

3.6 で発生するか:
Yes
3.8 で発生するか:
Unknown (未調査)

Description

■バグ概要

SNS名称変更(pc_backend.php/sns/term)で入力した値がエスケープされていないため、pc_frontendの表示が崩れる

■再現手順

1)SNS名称変更(pc_backend.php/sns/term)を表示
2)アクティビティ(pc)に<script>alert("alert");</script>を入力して、編集ボタンを押す
3)pc_frontendのマイホームを表示し、スクリプトが動作する事を確認

■環境

OS: Mac OSX
ブラウザ: Firefox3

■仕様

入力した文字がエスケープされる

■修正内容

SnsTermモデルが文字列をを出力する際に呼ばれるメソッド(__toString())の最後にescapeを実装しました。


Related issues

Related to OpenPNE 3 - Enhancement(機能追加・改善) #780: Activityの名称を変更できるようにする Fixed(完了) 2010-03-03
Related to OpenPNE 3 - Backport(バックポート) #1962: SNS名称変更で入力した値がエスケープされていない Fixed(完了) 2010-10-01 2011-10-05
Related to OpenPNE 3 - Backport(バックポート) #2167: SNS名称変更で入力した値がエスケープされていない Fixed(完了) 2011-06-09

Associated revisions

Revision b071ff93 (diff)
Added by Itsuro Tajima about 9 years ago

(fixes #1635) added escape function before saving sns term configuration

Revision a558bed2 (diff)
Added by Itsuro Tajima about 9 years ago

Revert "(fixes #1635) added escape function before saving sns term configuration"

This reverts commit b071ff93a01d999d06de8592975d0b0058153be5.

Revision 3d4cf4d5 (diff)
Added by Itsuro Tajima about 9 years ago

(fixes #1635) fixed term output with escape

History

#1 Updated by Kousuke Ebihara about 9 years ago

  • Target version set to OpenPNE 3.7.0
  • 3.6 で発生するか set to Yes

#2 Updated by Itsuro Tajima about 9 years ago

  • Status changed from New(新規) to Accepted(着手)

#3 Updated by Itsuro Tajima about 9 years ago

  • Assignee set to Itsuro Tajima

#4 Updated by Itsuro Tajima about 9 years ago

SNS名称設定は、通常連想配列形式(ex:$op_term['community'])でアクセスしますが、これの実態はオブジェクトのため,連想配列形式でのアクセスはマジックメソッドによって行われています。これにエスケープを行うラッパーを適用すると、その部分が正常に動作しなくなる、というのが根本問題です。

#5 Updated by Itsuro Tajima about 9 years ago

↑は間違いで、ArrayAccessの実装がDecoratorに反映されないのが問題です。
本来ならArrayのインタフェースに対応しており、なおかつObjectのように振る舞うDecoratorが望ましく、それを実装するのも良い解決策ですが、コードの変更が大きくなるため,今回はpc_backend側でescapeしたものをDBに入れるような方針にします。

#6 Updated by Itsuro Tajima about 9 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

更新履歴 b071ff93a01d999d06de8592975d0b0058153be5 で適用されました。

#7 Updated by Kousuke Ebihara about 9 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

ちゃんと見ていませんが取り急ぎ差し戻します(管理画面で繰り返し編集することで多重エスケープとかになってしまいそうとか思いましたが、まったく見ていません)。この変更を stable-3.6.x に入れるのは待ってください。

#8 Updated by Itsuro Tajima about 9 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)

更新履歴 a558bed20786731008785b5151c82ef8dc084b36 で適用されました。

#9 Updated by Itsuro Tajima about 9 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

#10 Updated by Itsuro Tajima about 9 years ago

  • Status changed from Rejected(差し戻し) to Accepted(着手)

#11 Updated by Itsuro Tajima about 9 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)

SnsTermがfrontingなどの処理を終え、最終的にStringを出力する__toString()の部分にescapeを実装しました。

#12 Updated by Itsuro Tajima about 9 years ago

更新履歴 3d4cf4d5f8ad7481317499621c919b825920f82f で適用されました。

#13 Updated by Masato Nagasawa over 8 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

説明に修正内容の記述をお願いします。

#14 Updated by Shingo Yamada over 8 years ago

  • Priority changed from Normal(通常) to High(高め)

#15 Updated by Itsuro Tajima over 8 years ago

  • Status changed from Rejected(差し戻し) to Accepted(着手)

#16 Updated by Itsuro Tajima over 8 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)

#17 Updated by Shingo Yamada over 8 years ago

  • 360対象 set to RC1

#18 Updated by Yuma Sakata over 8 years ago

  • 360対象 deleted (RC1)

#19 Updated by Yuma Sakata over 8 years ago

  • 360対象 set to RC1

#20 Updated by Kousuke Ebihara over 8 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

#21 Updated by Fumie Toyooka about 8 years ago

  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 70 to 100

テストOKです。

#22 Updated by kaoru n about 4 years ago

  • 3.8 で発生するか set to Unknown (未調査)

Also available in: Atom PDF