アカウント名:
パスワード:
なんか「+」で異常動作するのが盲点だったように書かれているけど、原因はシングルクォートのエスケープ漏れという基本中の基本だから。
今時、そんなエスケープ処理を自前でやらねーだろ。バインド変数使うだろ。
まぁ素人に毛が生えた程度の奴らはsqlに外部から入ってきた変数を直書きしている奴らをみるけど(某大手質問サイトで今システムを作ってますとかいう奴らによく見る。こいつらサービスは絶対に使いたくないなと傍観していますが)
それはそうだけど、今回のバグをどう表現するかっていうと、自分も安易に「エスケープ漏れ」とか言っちゃうなー。これに限らず生のコードを実行しちゃう系のものを一切合切。対策として「きちんとエスケープする」ではなく「バインド変数を使う」にはなるんだけどさ。
どうみても後半の文句を言いたかっただけじゃない冒頭部分に真面目に答えても意味ないよ
どうみても後半の文句を言いたかっただけじゃない 冒頭部分に真面目に答えても意味ないよ
一行目についてはそうかもしれないけど、二行目について、書き込んだ当人だけが読むわけじゃないから意味ないとは思わないです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
開いた括弧は必ず閉じる -- あるプログラマー
「+」は関係ない (スコア:0)
なんか「+」で異常動作するのが盲点だったように書かれているけど、
原因はシングルクォートのエスケープ漏れという基本中の基本だから。
Re: (スコア:0)
今時、そんなエスケープ処理を自前でやらねーだろ。
バインド変数使うだろ。
まぁ素人に毛が生えた程度の奴らはsqlに外部から入ってきた変数を直書きしている奴らをみるけど
(某大手質問サイトで今システムを作ってますとかいう奴らによく見る。こいつらサービスは絶対に使いたくないなと傍観していますが)
Re:「+」は関係ない (スコア:1)
それはそうだけど、今回のバグをどう表現するかっていうと、自分も安易に「エスケープ漏れ」とか言っちゃうなー。これに限らず生のコードを実行しちゃう系のものを一切合切。対策として「きちんとエスケープする」ではなく「バインド変数を使う」にはなるんだけどさ。
LIVE-GON(リベゴン)
Re: (スコア:0)
どうみても後半の文句を言いたかっただけじゃない
冒頭部分に真面目に答えても意味ないよ
Re:「+」は関係ない (スコア:1)
一行目についてはそうかもしれないけど、二行目について、書き込んだ当人だけが読むわけじゃないから意味ないとは思わないです。
LIVE-GON(リベゴン)