タグ

sqlに関するpoolmmjpのブックマーク (4)

  • Oracleでのエスケープ - 2007-12-30 - T.Teradaの日記

    今日の日記では、OracleでのSQLインジェクション対策について書きます。 以下のようなコード(PHP)があるとします。 <?php ... $foo_escape = str_replace("'", "''", $foo); $sql = "SELECT * FROM table1 WHERE foo='$foo_escape'"; $stmt = OCIParse($dbh, $sql); ... 「'」を「''」にエスケープしてSQL文に埋め込み、Oracleで実行(Parse)しています。 割とよくあるコードかもしれませんが、これだとSQLインジェクション攻撃に脆弱な場合があります。 不正な文字列 DBサーバとのコネクションにEUC-JP(JA16EUCTILDE)を使用しているとします。 ここで、$fooに「[0xA1]' OR 1=1--」のような、EUC-JPとして不正な

    Oracleでのエスケープ - 2007-12-30 - T.Teradaの日記
    poolmmjp
    poolmmjp 2008/01/02
    あーなるほどねー
  • ScottGu's Blog - LINQ to SQL (Part 3 - Querying our Database)

    Last month I started a blog post series covering LINQ to SQL.  LINQ to SQL is a built-in O/RM (object relational mapping) framework that ships in the .NET Framework 3.5 release, and which enables you to easily model relational databases using .NET classes.  You can then use LINQ expressions to query the database with them, as well as update/insert/delete data from it. Below are the first two parts

    poolmmjp
    poolmmjp 2007/07/02
    LINQからどんなSQLが生成されてどんなデータが返ってくるかが見れる。Visual Studio 2008スゲー。だったら最初からSQLで書かせろよ、とか思うけど、LINQの方がラクに書けるはずなのでこの仕様が理想なんだろうたぶん。
  • いまの気持ちをSQLで表すスレ:アルファルファモザイク

    Begin transaction Select * into 俺 from 冷蔵庫 where 種類='酒' order by アルコール度数 Select * into 俺 from 冷蔵庫 where 種類='酒' order by アルコール度数 Select * into 俺 from 冷蔵庫 where 種類='酒' order by アルコール度数 Goto 便所 便所: Rollback INSERTINTOマンコVALUES(漏れのドリルチンポ) INSERTINTOマンコVALUES(漏れのドリルチンポ) INSERTINTOマンコVALUES(漏れのドリルチンポ) INSERTINTOマンコVALUES(漏れのドリルチンポ) INSERTINTOマンコVALUES(漏れのドリルチンポ) INSERTINTOマンコVALUES(漏れの精液)

    poolmmjp
    poolmmjp 2007/05/27
    >>57
  • suVeneのあれ: 俺的コーディングルール SQL編

    2007年01月19日 俺的コーディングルール SQLプロジェクトのコーディングルールがこうでなければいけないとか、他人に強制するわけではないが、自分自身で一貫性の無いコードを書くのは気持ち悪いので、オレオレルールを決めてたりする。大抵は デ・ファクト的なルールに沿う形で書くことが多いのだが、SQL や PL/SQL に関してはなかなかデファクトと呼べるものがないので(あるのか?)、メモ的に書きとめておく。 原則キーワード小文字オブジェクト名大文字カンマは後ろインデントは半角スペースで 2一つの SQL 文でキーワード毎にインデントしない(副問合せ除く) まず、1.2. に付いてなのだが、昔は「キーワード=大文字」という意味不明な先入観で大文字で書いていた。ただ、それだと PL/SQL のキーワードも大文字、オブジェクト名も大文字で結局ほとんど大文字になってしまうのと、Shift 押す

    poolmmjp
    poolmmjp 2007/02/02
    sqlの書き方って、揺るぎない正解が他の言語よりも無い気がする。みんな悩みながらやってるのね。書きやすさの前カンマ、読みやすさの後カンマという認識なので、余程のやっつけ仕事じゃない限りは後カンマ。
  • 1