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

Web制作者の常識、開発エンジニアの常識」記事へのコメント

  • それに加えてはなからSQLインジェクション実行が不可能な
    フレームワークの構築とその使用の徹底もより重要と考えます。

    #例えば.NETが提供するフレームワークの内データベース処理を担当するADO.NETは
    #SQLインジェクションが構造的に不可能なように構築されてたと思います
    • えっと、SQLインジェクションが不可能な構造ってことは
      生SQLが発行できないってことですかね。

      #つまり、うちで納品しているプログラムで
      #生SQLをばしばし発行してるのも幻ですよっと。

      • スンマセン不可能ってのは言い過ぎでした。
        ご指摘の通り、SQLCommand関連のクラスとかを直接叩けば生コードはいくらでも叩けます。

        が、ADO.NETで推奨されているように、
        発行されたフォームから持ってくる更新当、値の代入には”パラメータ”技術を介するように
        徹底するとかでも潜在する危険度はぐっと減る事でしょう。言いたいのはそーゆーことです。
        (開発環境で用意されているウィザードを使うと勝手にその辺はやってくれますが
        まあ実際は自動生成されたコードいじったりおおむねSQLCommandとかを直接操作するの
        ですしね)

        #実際にはもっと突き詰めて内部的にそのような処理を行うラッパークラスを
        #独自のフレームワーク上で用意し、Web開発者にはそのフレームワークで用意
        #したメソッドを使うよう徹底するというのがいいのではないかという事です。
        #そうするとSQLインジェクションへの注意をフレームワーク開発上に集中でき
        #末端のWeb開発者含めた全員に周知徹底コードの厳密な監視を随時行うという
        #あまり現実的でなさそうな工数をある程度削減できるのではないかと。
        親コメント

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

処理中...