*BugTrackでの投稿で"が\"に化ける [#a23c9f49] -ページ: BugTrack -投稿者: [[reimy]] -優先順位: 重要 -状態: 完了 -カテゴリー: BugTrack -投稿日: 2002-06-29 (土) 17:58:27 -バージョン: **メッセージ [#z793da46] BugTrackでの投稿でダブルクォーテーションにバックスラッシュがくっついてしまいます。バックスラッシュもバックスラッシュ2つになってしまいます。 (例) >$string = \"test\\n\" ---- この問題、ほかのプラグインでも起こる可能性があることが分かりました。 PHPでは、magic_quotes_gpcがonになっていると、' " \ NULLにバックスラッシュが付く仕様らしいです。 本体ではinit.phpのはじめの方にあるんですが、 if(get_magic_quotes_gpc()) { if($get["page"]) $get["page"] = stripslashes($get["page"]); if($post["page"]) $post["page"] = stripslashes($post["page"]); if($get["word"]) $get["word"] = stripslashes($get["word"]); if($post["word"]) $post["word"] = stripslashes($post["word"]); if($post["msg"]) $post["msg"] = stripslashes($post["msg"]); } としているようです。 同様の問題が、comment.inc.phpの名前欄でも起こっていました。~ なんかここですべてのバックスラッシュを取ってしまってもいい気がするんですが・・・・ ---- -そろそろ、直さないとなー。月曜日にでも。 -- [[ゆう]] SIZE(1):2002-06-30 (日) 01:35:57 -フォームメールプラグインや掲示板プラグインでも同じ事がおこりますねー。 -- [[ゆう]] SIZE(1):2002-07-01 (月) 20:52:10 -ガーン。プラグインのメンテナンスしてないからなぁ…。 (^^; -- [[kawara]] SIZE(1):2002-07-01 (月) 20:53:58 -あ、うちもonだ。やばい -- [[reimy]] SIZE(1):2002-07-01 (月) 21:32:29 -magic_quotes_gpc は、RDBMS使わない環境では邪魔以外のなにものでもないので、デフォルトでOFFになっていると思ってましたが、、 -- [[seagull]] SIZE(1):2002-07-01 (月) 21:33:39 -PostgreSQLとMySQLが入ってるからonになってるんだろうなあ… -- [[reimy]] SIZE(1):2002-07-01 (月) 21:46:22 -んじゃinit.phpで全部stripしちゃいますか。 -- [[ゆう]] SIZE(1):2002-07-01 (月) 23:25:12 -受け取ったパラメータをなんでもかんでも処理してると、DoSの的になる可能性もありますが、まぁ大丈夫でしょう。 -- [[seagull]] SIZE(1):2002-07-01 (月) 23:37:56 -DoS?どうしてですか? -- [[ゆう]] SIZE(1):2002-07-01 (月) 23:53:18 -使いもしないゴミ引数を大量に送りつけられて、ひどい目にあった事があるので。stripslashes位なら問題ないでしょうが、strip前後の文字列がメモリに格納される事を思うとちょっと考えちゃいます。 -- [[seagull]] SIZE(1):2002-07-01 (月) 23:59:32 -そもそもGETやPOSTの値は$get, $postにコピーされているんでメモリ使用量はかわりませんよー。ちょっと重くなるかもしれませんが。 -- [[ゆう]] SIZE(1):2002-07-02 (火) 00:08:33 -修正版はこれです。明日コミットしますね。 -- [[ゆう]] SIZE(1):2002-07-02 (火) 00:29:26 根本的に修正することになったようですので"今さら"ですが、~ comment.inc.phpのCVS 1.4→1.5 での修正部分の先頭行が if(get_magic_quotes_gpc() { となっていますが、 if(get_magic_quotes_gpc()) { のミスだと思います。-- [[reimy]] SIZE(1):[[2002-07-02]] (火) 01:48:05 -ん?それだとエラーになるはずですが... -- [[seagull]] SIZE(1):2002-07-02 (火) 01:53:54 -うーん、またミス。すんません、っていうかこの変更取り消しですね・ -- [[ゆう]] SIZE(1):2002-07-02 (火) 02:21:08 -とりあえず、commentプラグインの修正箇所を元に戻して、ついでに.htaccessファイルでphp_flag magic_quotes_gpc offしておいた。 -- [[reimy]] SIZE(1):2002-07-02 (火) 02:41:46 -CVSに取り込みました [[cvs:init.php]] [[cvs:plugin/comment.inc.php]] -- [[ゆう]] SIZE(1):2002-07-02 (火) 10:31:50 //#comment #attach //#attach