アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy
全員覚えるのは、無理! (スコア:5, すばらしい洞察)
どうせセキュリティの不具合って
・無理な遷移やデザインの都合を優先しろと言われた
・当初の話には一言もなかった機能をリリース間近に要求される
・どうでもいい機能と開発側が勝手に思い込む
・本当に知らない(理解力が残念な開発者)
とかでしょ。
よく分かっている人たちだけで、フレームワーク独自で作るか
SpringとかMojaviとかCatalystとかrailsとかカスタマイズして、フレームワークレベルでSQLインジェクションやXSSは対処すべきだと思う。
それで、ある程度分かっている人たちで、そのベースフレームワークをプロジェクト用に直して、分からない人た
Re:全員覚えるのは、無理! (スコア:1, 興味深い)
なになに、出力段階で特殊文字はエスケープすることが本来の意図であり、サニタイズという言葉はCGI入力を無害化すれば対策になると勘違いさせるからよろしくない。
…いや、サニタイズは「外部入力の文字は全て安全でないとみなし、安全な文字だけを出力するようにする」方法論では。
昔から CGI 出力のエスケープをどうやるかやり方はいくつかあって、そのうちのひとつ。これはHTMLのレイアウトとコンポーネントを分離し、プログラム小部分ではその部分のviewになるHTML部品を文字列で作成。最後にレイアウトマネージャが各部品文字列をそのまま出力するようなタイプのCGIで便利なやり方で、コンポーネント指向好きに愛用されていた。
特に Perl の taint 機能と併用すると漏れがなくなる。というか taint はこのやり方のために導入されたわけだし。
サニタイズすれば対策になるという説明をやめようという趣旨はいいけど、出力時にエスケープするのが本質であるというのは首をかしげるな。
Re:全員覚えるのは、無理! (スコア:1)
半年以上前の話に「今度は~やってるんですか」とか言われても
困ると思います。
Re:全員覚えるのは、無理! (スコア:0)
こういう風に内容含め紹介されないと見ないんですわ。
Re:全員覚えるのは、無理! (スコア:0)
Re:全員覚えるのは、無理! (スコア:0)
#さて、なんの傾向でしょうね?
Re:全員覚えるのは、無理! (スコア:0)
元来のサニタイズの意味や理解に関しては元AC氏も高木氏も間違ってないよ?
高木氏は「サニタイズ」をオールマイティーなセキュリティー対策の印籠のように振りかざすのはやめようといってるだけ。
サニタイズの本来の意味に関しては元AC氏の説明の方が簡潔で分かりやすい。
高木氏の日記のセカンドSQLインジェクションのトコの(4)に対する説明が全てを物語っている。
入力/出力は別にCGIという枠だけでなく、CGIプログラム内でも構造はネストしてるのだから、その構造単位で入力/出力があると考えるべき。
安全でない文字列があるときそれをエスケープするか、削除するか、変換するか、エラー終了させるか、は場合による。
# taint オプション使ってないのでAC
# 使うべきというのは知ってたけどね:p、次から使ってみるか