パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

ゆうちょPayアプリで「々」が含まれる氏名の登録が行えない不具合」記事へのコメント

  • 絵文字でも何でも受けつければいいのに😛
    • by Anonymous Coward

      やってみろ
      SQLインジェクション等されまくって
      個人情報ダダ漏れになって
      簡単に死ねるから

      • by Anonymous Coward

        今どきweb設計するときにHTMLタグエスケープしないだの、SQL place holder使わないだのなんてありえないでしょ。
        だからこそ文字種制限に意味あるのかと感じるんだけど。

        • by Anonymous Coward on 2019年05月10日 19時51分 (#3612586)

          実際コードを書いていないシステムエンジニアやセキュリティエンジニアの方は知らないでしょうが、
          複雑なシステムではプレースホルダは非現実的で、バグの温床になりますよ。

          そういう人から、プレースホルダ使えと言われると、現場はいい迷惑です。
          現実的に考えて 価格.com のスペック検索 [kakaku.com] をプレースホルダで作れますか?

          理論上不可能ではありませんが、場合分けでif文等が数十重にもなって、訳がわからないことになり、製作時間も数十倍、バグ発生リスクも数十倍になるでしょうね。

          あと、プレースホルダ使えばSQLインジェクションが理論上絶対に発生しないといった出鱈目をまき散らしているセキュリティの専門家も多くいらっしゃいますが、
          SQLの識別子(テーブル名やフィールド名)はプリペアードクエリではエスケープできない [ohgaki.net] ので、プレースホルダだけでは完璧な対策にはなりませんし、
          プレースホルダをユーザ入力によって動的に作り上げたら(複雑な処理では必要になる)結局脆弱性は防げないのです。

          複雑なシステムの場合には、昔ながらの方式で SQL クエリを組み立てるときにエスケープ処理した方がよかったりします。

          親コメント
          • by Anonymous Coward

            おいおい、ユーザにデータベースやテーブル名を指定させるのかww?
            まず設計を見直そうな。

            そもそも、バリデーションとエスケープは別の概念だぞ。

          • by Anonymous Coward

            > 価格.com のスペック検索

            似たようなもの作ったことあるけどさ、
             conds = []
             conds << [" COLOR = ?" , foo]
             conds << [" SIZE = ?" , bar]
            みたいに投入していって、
             conds.map{ |v| v.first ].join(" AND ")
            と取り出せばいいだけじゃないかな。

          • by Anonymous Coward

            素人かよwww
            プレースホルダ動的に作れば良いんだよw

            逆にどこら辺が複雑だと思ってるの??

アレゲはアレゲを呼ぶ -- ある傍観者

処理中...