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

Opened 11 years ago

Closed 11 years ago

#1884 closed defect (invalid)

メールキューのデータが過剰にエスケープされる

Reported by: ebihara Owned by: ebihara
Priority: major Milestone: OpenPNE2.10.4
Component: 指定しない Version: 2.8.x & 2.10.x & 2.11.x
Keywords: OpenPNE2.8.9 OpenPNE2.11.5 Cc:

Description

メールキュー機能の put_mail_queue() 内で SQLインジェクション対策と思われる addslashes() をコールしている箇所があるが、 Mail_Queue_Container_db::put() でも addslashes() をコールしているため、過剰にエスケープされてしまう。

Mail_Queue_Container_db は PEAR::DB 依存なので本当は PEAR_DB::quoteSmart()などでエスケープしたいところだが、とりあえずput_mail_queue()のaddslashes()を取り除くにとどめる。

Change History (14)

comment:1 Changed 11 years ago by ebihara

Type: enhancementdefect

comment:2 Changed 11 years ago by ebihara

Priority: criticalminor

comment:3 Changed 11 years ago by ebihara

Priority: minormajor

comment:4 Changed 11 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

やります。

comment:5 Changed 11 years ago by ebihara

Keywords: 確認中 added

以下のリビジョンで修正しました。ご確認ください。

comment:6 Changed 11 years ago by ogawa

Keywords: テスト待ち added; 確認中 removed

comment:7 Changed 11 years ago by kiwa

以下の文字をテストします

  	ノーブレークスペース
? 	逆立ち感嘆符
¢ 	セント記号
£ 	英貨ポンド記号
? 	一般通貨記号
\ 	円記号
§ 	節記号
¨ 	ウムラウト
(c) 	著作権記号
^(a) 	順序の指示(女性形)
? 	左角引用符
¬ 	否定記号
? 	登録商標
? 	マクロン
° 	度記号
± 	加減符
´ 	鋭アクセント
? 	ミクロン記号
¶ 	段落記号
? 	中黒
? 	セディーユ
^(o) 	順序の指示(男性形)
? 	右角引用符
? 	逆立ち疑問符
A` 	大文字 A(重アクセント記号付)
A' 	大文字 A(鋭アクセント付)
A^ 	大文字 A(曲折アクセント記号付)
A~ 	大文字 A(ティルデ付)
A" 	大文字 A(ウムラウト付)
A* 	大文字 A(輪付)
? 	大文字 AE 二重母音(合字)
C, 	大文字 C(セディーユ付)
E` 	大文字 E(重アクセント記号付)
E' 	大文字 E(鋭アクセント記号付)
E^ 	大文字 E(曲折アクセント付)
E" 	大文字 E(ウムラウト付)
I` 	大文字 I(重アクセント記号付)
I' 	大文字 I(鋭アクセント記号付)
I^ 	大文字 I(曲折アクセント付)
I" 	大文字 I(ウムラウト付)
N~ 	大文字 N(ティルデ付)
O` 	大文字 O(重アクセント記号付)
O' 	大文字 O(鋭アクセント記号付)
O^ 	大文字 O(曲折アクセント記号付)
O~ 	大文字 O (ティルデ付)
O" 	大文字 O(ウムラウト付)
? 	大文字 O(スラッシュ付)
U` 	大文字 U(重アクセント記号付)
U' 	大文字 U(鋭アクセント記号付)
U^ 	大文字 U(曲折アクセント記号付)
U" 	大文字 U(ウムラウト付)
? 	ドイツ語の小文字鋭 s(sz 合字)
a` 	小文字 a(重アクセント記号付)
a' 	小文字 a(鋭アクセント記号付)
a^ 	小文字 a(曲折アクセント記号付)
a~ 	小文字 a(ティルデ付)
a" 	小文字 a(ウムラウト付)
a* 	小文字 a(輪付)
? 	小文字 ae 二重母音(合字)
c, 	小文字 c(セディーユ付)
e` 	小文字の e(重アクセント記号付)
e' 	小文字の e(鋭アクセント記号付)
e^ 	小文字の e(曲折アクセント記号付)
e" 	小文字の e(ウムラウト付)
i` 	小文字の i(重アクセント記号付)
i' 	小文字の i(鋭アクセント記号付)
i^ 	小文字の i(曲折アクセント記号付)
i" 	小文字の i(ウムラウト付)
n~ 	小文字 n(ティルデ付)
o` 	小文字 o(重アクセント記号付)
o' 	小文字 o(鋭アクセント記号付)
o^ 	小文字 o(曲折アクセント記号付)
o~ 	小文字 o(ティルデ付)
o" 	小文字 o(ウムラウト付)
÷ 	除算記号
? 	小文字 o(斜線付)
u` 	小文字 u(重アクセント記号付)
u' 	小文字 u(鋭アクセント記号付)
u^ 	小文字 u(曲折アクセント記号付)
u" 	小文字 u(ウムラウト付)
y" 	小文字 y(ウムラウト付)
<	小なり
>	大なり
&	アンド
"	ダブルクォート
'	シングルクォート

comment:8 Changed 11 years ago by kiwa

メモ帳で編集する際に文字が変換されちゃってました。正しくはこちらです

  	ノーブレークスペース
¡ 	逆立ち感嘆符
¢ 	セント記号
£ 	英貨ポンド記号
¤ 	一般通貨記号
¥ 	円記号
§ 	節記号
¨ 	ウムラウト
© 	著作権記号
ª 	順序の指示(女性形)
« 	左角引用符
¬ 	否定記号
® 	登録商標
¯ 	マクロン
° 	度記号
± 	加減符
´ 	鋭アクセント
µ 	ミクロン記号
¶ 	段落記号
· 	中黒
¸ 	セディーユ
º 	順序の指示(男性形)
» 	右角引用符
¿ 	逆立ち疑問符
À 	大文字 A(重アクセント記号付)
Á 	大文字 A(鋭アクセント付)
 	大文字 A(曲折アクセント記号付)
à 	大文字 A(ティルデ付)
Ä 	大文字 A(ウムラウト付)
Å 	大文字 A(輪付)
Æ 	大文字 AE 二重母音(合字)
Ç 	大文字 C(セディーユ付)
È 	大文字 E(重アクセント記号付)
É 	大文字 E(鋭アクセント記号付)
Ê 	大文字 E(曲折アクセント付)
Ë 	大文字 E(ウムラウト付)
Ì 	大文字 I(重アクセント記号付)
Í 	大文字 I(鋭アクセント記号付)
Î 	大文字 I(曲折アクセント付)
Ï 	大文字 I(ウムラウト付)
Ñ 	大文字 N(ティルデ付)
Ò 	大文字 O(重アクセント記号付)
Ó 	大文字 O(鋭アクセント記号付)
Ô 	大文字 O(曲折アクセント記号付)
Õ 	大文字 O (ティルデ付)
Ö 	大文字 O(ウムラウト付)
Ø 	大文字 O(スラッシュ付)
Ù 	大文字 U(重アクセント記号付)
Ú 	大文字 U(鋭アクセント記号付)
Û 	大文字 U(曲折アクセント記号付)
Ü 	大文字 U(ウムラウト付)
ß 	ドイツ語の小文字鋭 s(sz 合字)
à 	小文字 a(重アクセント記号付)
á 	小文字 a(鋭アクセント記号付)
â 	小文字 a(曲折アクセント記号付)
ã 	小文字 a(ティルデ付)
ä 	小文字 a(ウムラウト付)
å 	小文字 a(輪付)
æ 	小文字 ae 二重母音(合字)
ç 	小文字 c(セディーユ付)
è 	小文字の e(重アクセント記号付)
é 	小文字の e(鋭アクセント記号付)
ê 	小文字の e(曲折アクセント記号付)
ë 	小文字の e(ウムラウト付)
ì 	小文字の i(重アクセント記号付)
í 	小文字の i(鋭アクセント記号付)
î 	小文字の i(曲折アクセント記号付)
ï 	小文字の i(ウムラウト付)
ñ 	小文字 n(ティルデ付)
ò 	小文字 o(重アクセント記号付)
ó 	小文字 o(鋭アクセント記号付)
ô 	小文字 o(曲折アクセント記号付)
õ 	小文字 o(ティルデ付)
ö 	小文字 o(ウムラウト付)
÷ 	除算記号
ø 	小文字 o(斜線付)
ù 	小文字 u(重アクセント記号付)
ú 	小文字 u(鋭アクセント記号付)
û 	小文字 u(曲折アクセント記号付)
ü 	小文字 u(ウムラウト付)
ÿ 	小文字 y(ウムラウト付)
<	小なり
>	大なり
&	アンド
"	ダブルクォート
'	シングルクォート

comment:9 Changed 11 years ago by kiwa

以下の現象の確認をおねがいします。

■発生バージョン

  • 2.8.x
  • 2.10.x
  • trunk

■現象

メッセージお知らせメールが文字化けする

■発生手順

  1. OPENPNE_MAIL_QUEUEをtrueにした状態で管理画面からメッセージを送信する
    • OPENPNE_MESSAGE_QUEUEの設定は影響しない
    • メールの内容は影響しない。以下テストしたパターン
      • タイトルにエスケープ文字あり(ûß±>)、メッセージにエスケープ文字有り
      • タイトルにエスケープ文字なし、メッセージにエスケープ文字有り
      • タイトル・メッセージともにエスケープ文字なし
  2. tool_send_mail_in_queue.phpを実行してメッセージお知らせメールを送る
  3. 「メッセージボックスにOpenPNE君さんから」の「ボックス」部分が文字化けする

※ OPENPNE_MAIL_QUEUE:false OPENPNE_MESSAGE_QUEUE:trueの場合は発生しません
※ OPENPNE_MAIL_QUEUE:trueでのメール送信にエスケープ文字が含まれていた場合は文字化けしていませんでした

comment:10 Changed 11 years ago by kiwa

Keywords: テスト待ち removed

comment:11 Changed 11 years ago by ogawa

Mail_Queue_Body::getBody() で stripslashes() が呼ばれており、addslashes() は必要でした。

元に戻します。

comment:12 in reply to:  5 Changed 11 years ago by ogawa

Replying to ebihara:

以下のリビジョンで修正しました。ご確認ください。

以下のリビジョンで元に戻しました。

comment:13 Changed 11 years ago by ogawa

Keywords: テスト待ち added

テスト後、問題なければ invalid で閉じてください。

comment:14 Changed 11 years ago by kiwa

Keywords: テスト待ち removed
Resolution: invalid
Status: assignedclosed

問題なさそうなので閉じます。

Note: See TracTickets for help on using tickets.