タグ

2011年12月28日のブックマーク (10件)

  • 第42回 PostgreSQL 9.0に見るSQLインジェクション対策 | gihyo.jp

    PostgrSQL 9.0から追加されたエスケープ関数から、SQLインジェクション対策を再度解説してみたいと思います。 SQLインジェクション対策の4原則 基的にはSQLインジェクション対策として以下の原則を守っていれば、SQLインジェクションに脆弱なアプリケーションを作ることはありません。 すべてのパラメータを文字列としてエスケープする すべてのパラメータをプリペアードクエリのパラメータとして処理する 文字エンコーディングの設定をAPIで行う パラメータとして処理できない文字列はバリデーションを行う 原則1と原則2は重複して適用する必要はありません。どちらかを行います。文字エンコーディングの設定やプリペアードクエリのエミュレーション・抽象化ライブラリのバグ等でSQLインジェクションが可能になる場合もありますが、通常であればこの原則を守っている限りSQLインジェクション脆弱性を作ることは

    第42回 PostgreSQL 9.0に見るSQLインジェクション対策 | gihyo.jp
    kits
    kits 2011/12/28
    識別子を外部から指定できるような設計にせず、SQL文を動的に組み立てなければより安全、と学んだ。(コメント・言及等にて)
  • 「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog

    このエントリでは、ネット上で「SQLインジェクション対策」でGoogle検索した結果の上位15エントリを検証した結果を報告します。 SQLインジェクション脆弱性の対策は、既に「安全なSQLの呼び出し方」にファイナルアンサー(後述)を示していますが、まだこの文書を知らない人が多いだろうことと、やや上級者向けの文書であることから、まだ十分に実践されてはいないと思います。 この状況で、セキュリティのことをよく知らない人がSQLインジェクション対策しようとした場合の行動を予測してみると、かなりの割合の人がGoogle等で検索して対処方法を調べると思われます。そこで、以下のURLでSQLインジェクション対策方法を検索した結果の上位のエントリを検証してみようと思い立ちました。 http://www.google.co.jp/search?q=SQLインジェクション対策 どこまで調べるかですが、以前NH

    「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog
    kits
    kits 2011/12/28
    「SQLを動的に組み立てない」「SQLのパラメータ指定には静的プレースホルダを用いる」
  • バリデーションは仕様を基準にして行う~大垣さんと徳丸の会話~

    徳丸 浩 @ockeghem 徳丸を見返したら、「入力値検証の主目的はセキュリティのためではありませんが、セキュリティのために役立つ場合もあります」(P76)とありますね。これでいいんじゃないの? #wasbook

    バリデーションは仕様を基準にして行う~大垣さんと徳丸の会話~
  • 標準医療をしなかった医師が提訴された - NATROMのブログ

    2011年12月22日付の西日新聞朝刊に、医師に対して遺族が損害賠償を求め、提訴したという記事が載った。報道が正確だとすれば、訴えられた医師は代替医療を行っていた。 「がん有効治療せず」提訴 死亡女性遺族 医師に賠償求め 2011年12月22日付の西日新聞朝刊より。 訴状によると、女性は昨年4月、大学病院で初期の卵巣がんと診断され、手術と化学療法を勧められた。しかし、手術を受けず、知人に紹介された同市中央区の内科診療所(今年9月に廃院)に約1年間、月2回ほど通院。病状は改善せず、今春には呼吸困難になったため家族が別の病院に連れて行ったところ、肺へのがん転移が判明。6月に亡くなった。 診療所の医師は「がん患者は何人も診ているから安心していい」と説明。毎回6万〜8万円の受診料で、マッサージやはり治療を施し、体操を指導、がんに効くという水を販売した。一般的ながん検査や治療はしなかったという。

    標準医療をしなかった医師が提訴された - NATROMのブログ
    kits
    kits 2011/12/28
    「見出しにある『がん有効治療』をしなかったことよりも、十分な説明をしなかったことのほうが問題」
  • 2011年のWeb標準 | Web標準Blog | ミツエーリンクス

    2011年も残すところあと数日となりました。というわけで、Web標準に関する今年の出来事を簡単ですがまとめてみました。 HTML5のLast Call 5月25日に、HTML5がLast Callとして公開されました。 HTML5がLast Callに Last Call期間中には、1500を超えるコメントがバグとして登録されました。 上のエントリでは当時のLast Call後のスケジュールについて触れていますが、その後引き直され、現在は年末までにバグの解決、4月上旬にissueを解決し、次のステップについて発表することになっています。 "Last Call"というラベルではありますが、機能が完成したというわけではありません。他のグループや実装側からのフィードバックによって、仕様には今も大小様々な変更が行われています。 たとえば、Last Call以降、HTML5には次のような機能が追加さ

    kits
    kits 2011/12/28
    CSS2.1が勧告になっていたのだなあ。
  • 川崎フロンターレ:養父雄仁選手移籍のお知らせ

    成瀬サッカー少年団(神奈川県)[伊勢原市立成瀬小学校(神奈川県)] ─ ベルマーレ平塚ジュニアユース[伊勢原市立成瀬中学校(神奈川県)] ─ 神奈川県立弥栄西高校(神奈川県) ─ 国士舘大学(東京都) ─ 川崎フロンターレ ─ ヴァンフォーレ甲府(※2010年2月1日より期限付き移籍中) ※2006年 川崎フロンターレ JFA・Jリーグ特別指定選手

    川崎フロンターレ:養父雄仁選手移籍のお知らせ
    kits
    kits 2011/12/28
    復帰と思いきや熊本へ完全移籍とのこと。
  • 大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記

    このエントリでは、セキュリティの観点から、バリデーション実装について検討します。大垣さんのを読んで「大垣流バリデーション」について勉強した結果を報告します。 はじめに 大垣さんの記事「入力バリデーションはセキュリティ対策」では、「入力バリデーションはセキュリティ対策である」が力説されています。この記事はおそらくid:ajiyoshiさんのブログ記事「妥当性とは仕様の所作 - SQLインジェクション対策とバリデーション」を受けてのことだと思います。id:ajiyoshiさんのエントリでは、「妥当性検証は仕様の問題であってセキュリティ対策ではありません」と明言されています。私はid:ajiyoshiさんに近い考えを持っていますので、大垣さんの主張について、私なりに考えてみました。 記事を書くにあたり、徳丸の立場を明確にしておきたいと思います。 バリデーションの基準は仕様の問題 バリデーション

    大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記
    kits
    kits 2011/12/28
    「本来セキュリティ目的でするものではない」「セキュリティ上の効果はある」 / 「プログラムを書いたら必ずテストしよう」
  • 第45回 入力バリデーションはセキュリティ対策 | gihyo.jp

    「入力バリデーションはセキュリティ対策である」は世界の常識です。少なくとも大多数の世界のセキュリティ専門家は「入力バリデーションはセキュリティ対策」は常識だと考えています。 もちろん入力バリデーション対策がすべてであるわけではなく、ほかのセキュリティ対策も重要ですが、入力バリデーションが最も重要な対策の1つである、と考えている人は沢山います。 入力のバリデーションはすべてのプログラムに必須の保護機能です。一部に「入力バリデーションはセキュリティ対策ではない」とする声もあるようですが、入力バリデーションは間違いなくセキュリティ対策です。入力バリデーションはセキュリティ対策ではない、とする考え方は、混乱を招くだけです。 入力バリデーションをセキュリティ対策としているのは筆者のみではありません。世界的に利用されているセキュリティ標準でも、入力バリデーションを非常に有効なセキュリティ対策としてとら

    第45回 入力バリデーションはセキュリティ対策 | gihyo.jp
    kits
    kits 2011/12/28
    「数値IDであることを入力時にバリデーションしていれば,……などの脆弱なコードを書いた場合でも,……などの問題が回避できます」優先順位の置き方に疑問。
  • 妥当性とは仕様の所作 - SQLインジェクション対策とバリデーション - *「ふっかつのじゅもんがちがいます。」withぬこ

    繰り返しになりますが、妥当性検証は仕様の問題であってセキュリティ対策ではありません。 バリデーションは仕様の問題であってセキュリティ対策ではないとはどういうことか説明します。SQLインジェクションの対策は、1. SQLを文字列結合で作らない 2. プレースホルダを使う です。バリデーションは関係ありません。 簡単な例 Webアプリケーションで郵便番号を指定するフォームを考えましょう。 日郵便番号を指定するフォームの設計でよく見るものは大きく分けて2通りあり、上3桁と下4桁を別々に入力させるものと、1つのフォームにまとめて入力させるものです。住所から補完させる設計もありえますがここではおいておきます。 <input type="text" name="postal_code_1"> - <input type="text" name="postal_code_2"> <input typ

    妥当性とは仕様の所作 - SQLインジェクション対策とバリデーション - *「ふっかつのじゅもんがちがいます。」withぬこ
    kits
    kits 2011/12/28
    「何をもって妥当とするかは仕様が定めるものであり、従って仕様がなければ妥当性を論じることはできません」 ⇒ validation(妥当性検証)は仕様があってこそできるもの。
  • algorithm - 重みをつけて乱択する : 404 Blog Not Found

    2011年12月27日17:15 カテゴリ algorithm - 重みをつけて乱択する 数学ガール/乱択アルゴリズム 結城浩 同意なのだけど… Perlで生でrand関数をごちゃごちゃ使うコードはもう嫌だ | hirobanex.net とにかく、プログラムッチクというとなにかとランダムという要件が多いし、こんなコードばかりグチャグチャ書くのはもういやですね。 これを一般化するという問題はアルゴリズムの実習にちょうど手頃なサイズなので。 JavaScriptによる実装 頻度を高い順に並べて、乱数<合計頻度となったところでそれを選択します。O(n)ですが選択肢を頻度順に並べることでその分ループが回る確率を抑えています。 (function(global){ var make_random_picker = function(picks){ var choices = Array.proto

    algorithm - 重みをつけて乱択する : 404 Blog Not Found
    kits
    kits 2011/12/28
    rand()*$t というのは単に rand $t でよいと思う。