タグ

SQLに関するhrsttのブックマーク (16)

  • SQLインジェクションゴルフ - なんと3文字で認証回避が可能に

    昨日のエントリ「SQLインジェクションゴルフ - 認証回避の攻撃文字列はどこまで短くできるか?」にて、認証回避の攻撃文字列が5文字にできる(「'OR'1」)ことを示しましたが、@masa141421356さんと、やまざきさん(お二人とも拙著のレビュアーです)から、idとpwdにまたがった攻撃例を示していただきました。やまざきさんの例は、MySQL限定ながら、なんと3文字です。これはすごい。 @masa141421356さんの攻撃例 @masa141421356さんのツイートを引用します。 @ockeghem 大抵のDBでid=''OR' AND pwd='>' ' が通ると思います(id側に「'OR」, pwd側に「>' 」で6文字)。長さ0の文字列がNULL扱いされないDBなら最後のスペースを消して5文字です。 — masa141421356 (@masa141421356) June

  • SQLの外部結合でデータを取り出す ― @IT自分戦略研究所

    Oracleデータベースエンジニアとしての実力を証明するORACLE MASTER資格。その入り口であるBronze資格の取得は難しくない。連載と、同時掲載中の連載「Bronze DBA講座」で合格を目指そう!(参考記事:「Oracle 10g対応のORACLE MASTERとは?」)

    SQLの外部結合でデータを取り出す ― @IT自分戦略研究所
    hrstt
    hrstt 2013/02/01
  • Interactive SQL in R

    hrstt
    hrstt 2013/01/15
  • VOYAGE GROUP エンジニアブログ : メタプログラミングR:重い関数をキャッシュする

    2012年03月09日09:29 カテゴリprogrammingR メタプログラミングR:重い関数をキャッシュする こんにちは、VOYAGE GROUPの水越(@Akiyah)です。 最近、仕事でデータ解析環境「R」を使ってデータベースからデータを取り出して加工することが多いです。 そういったとき、データベースからデータをとる部分はSQLでまるまる取得して、その後Rでもりもり加工するのが好きです。 ですがその場合、何度も実行するとSQLの処理が重いしデータベースに負担をかけることになるので、ちょっと困っていました。 そこで今回、Rのメタプログラミングで関数呼び出しをキャッシュ化してみることにしました。 キャッシュと言ってもずっと同じ値を返すのではデータベースに新しいデータが入ったときに更新されないで困るので、ある一定期間(例えば24時間)を過ぎたら最新の値をとるように作ります。 キャッシュ

    hrstt
    hrstt 2013/01/09
  • FuelPHPからMSSQLを使って さらにリレーションする方法 | chatii-log

    既存のシステムがある案件で、そのシステムのデータベースを使いたい。しかし Microsoft SQL Server だった。よくある話なのかなぁ、chatiiは井の中の蛙なのでニーズがあるかわかりませんが、ともかく。 FuelPHPからMSSQLに接続し、データを取り出そうと思います。それだけでなく、Ormオブジェクトとして用意することで、リレーションも定義してラクしましょう。 chatii が自己流で試したことなので、間違いがあるかもしれません。ようはまだ、未熟 なのです 前提条件 Microsoft SQL Server が動いているサーバ ホスト名を mssql-sv, IP 192.168.0.10 とします。 接続情報 ユーザー名: sa パスワード: mssqlpasswd データベース名: mssqldb MSSQL は TCP/IPにより外部から接続できるように設定します。

  • ビジネスで重宝しそうなデータベースクエリー共有システム·Oculus MOONGIFT

    Oculusはビジネス用データベースクエリー共有システムです。 開発者の所にはたびたびユーザが訪ねてきてデータベースから一定の条件で抜き出したデータが欲しいと言われることがあります。そんなことが繰り返しあるとSQLをテキストファイルで残しておいたりする人も多いのではないでしょうか。そこで使ってみたいのがOculusです。クエリーを共有したり、データのダウンロードができます。 インストールはRubyGemsで行います。 オプションです。ユーザ名、パスワード、データベースを指定して実行します。 起動しました。 実行しました。結果が下に表示されます。 データはテーブル上に表示されます。 こちらはクエリーログです。 クエリーを保存しておけます。お気に入り登録も可能です。結果はダウンロードもできます。 お気に入りのクエリー一覧です。 Oculusを共有して使えば、最初は開発者がクエリーを作成し、後は

    ビジネスで重宝しそうなデータベースクエリー共有システム·Oculus MOONGIFT
  • 逆引きSQL構文集

    逆引きSQL構文集はやりたいことから,その方法を調べられるSQLの逆引きのリファレンスです. すべての項目にサンプルを用意してありますのでよろしければ参考にしてください. ブラウザの検索機能(Ctrl + F)を使用すると効率的にSQLを調べることができます. ホームページは現在精力的に作成中です

  • 動的SQLによる数独の超高速解法

    Pinskiさんの記事は、「SQLで数独を解ける」ことを示したという点で評価できます。しかしながら、そのためのコードと実行時間が共に長大であるため、「SQLは面倒で遅い」という誤解を読者に与えかねません。稿で紹介する方法で、誤解が払拭されることを期待します。 第1、2部と第3部の手法を簡単にまとめておきましょう。 第1、2部では、手続き的な記述、つまり、どうすれば数独の解が得られるかの具体的な記述によって数独を解いています。手続き的とは言っても、せっかく宣言型言語であるSQLを使うので、手順の各ステップはなるべく宣言的に記述するように心がけています。 第3部(稿)の方法の質はたった1行のSELECT文です。このSELECT文には「数独の解とはどういうものか」だけが記述してあり、その解を得るための具体的な方法はコンピュータが考えます。ただし、このSELECT文は人間が手で簡単に書けるよ

    動的SQLによる数独の超高速解法
  • TechCrunch | Startup and Technology News

    Limited space! Get on waitlist to be the first to know when tickets go live!

    TechCrunch | Startup and Technology News
  • SQLインジェクション攻撃はDB上の任意データを盗み出す - ockeghem's blog

    前回に引き続き、Think IT上の連載「SQLインジェクション大全」の第4回:ケース別、攻撃の手口を読んで感じたことを書きたい。 まず、この記事は以下のような書き出しから始まっている。 記事は、システムを防御するにはまず敵を知らなければならない、という意図の下に、攻撃手法を紹介する。 dfltweb1.onamae.com – このドメインはお名前.comで取得されています。 この趣旨に異論があるわけではないが、しかしこの表現は誤解を生みやすいものだと思う。 というのは、「敵」(攻撃方法)を知ったからと言って、防御の方法が導き出せる訳ではないからだ。例えば、開発者が「最近のSQLインジェクションの自動化攻撃にはT-SQLのDECLARE文が用いられる」という情報を得て独自に対策を考えた場合、DECLAREという単語をチェックしてエラーにしたり、単語を削除することを考えがちだと思う。現に

    SQLインジェクション攻撃はDB上の任意データを盗み出す - ockeghem's blog
    hrstt
    hrstt 2009/03/02
  • リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    hrstt
    hrstt 2008/10/23
  • SQLパズル:文字列中の重複する文字を削除する - 総天然色頁

    文字列中の重複する文字を削除する - ミックのブログ もろに手続き型で解いてみた。 with recursive temp (word_key, idx, word_txt) as ( select word_key, 1 as idx, cast(substring(word_txt from 1 for 1) as varchar(25)) as word_txt from WordList union all select temp.word_key, temp.idx + 1 as idx, case when position(substring(w.word_txt from temp.idx + 1 for 1) in w.word_txt) = temp.idx+1 then temp.word_txt || substring(w.word_txt from temp.i

    SQLパズル:文字列中の重複する文字を削除する - 総天然色頁
    hrstt
    hrstt 2008/10/08
  • SQLパズル 解答と解説 - ミックのブログ

    それでは、「文字列中の重複する文字を削除する 」の解答と解説です。 まずはセルコのオリジナルの解からご紹介しましょう。 最初に、対象となる文字列の文字数をカバーできる適当な大きさの連番テーブルSequenceを作ります。この方法は、『指南書』の「1-9 数列を扱う」や「SQLで数列パズルを解く」などを参照してください。 それが出来たら、各文字列について、残す文字列と削除する文字列を検査して、残す文字集合だけを保存します。 /* 残す文字集合Keeper */ CREATE VIEW Keeper (word_key, seq, letter) AS SELECT word_key, seq, SUBSTRING(word_txt FROM S.seq FOR 1) AS letter FROM WordList W, Sequence S WHERE S.seq >= 1 AND S.se

    SQLパズル 解答と解説 - ミックのブログ
    hrstt
    hrstt 2008/10/08
  • 動的SQLによる数独の超高速解法

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    動的SQLによる数独の超高速解法
    hrstt
    hrstt 2008/10/08
  • Amazon.co.jp: 達人に学ぶ SQL徹底指南書 (CodeZine BOOKS): ミック: 本

    Amazon.co.jp: 達人に学ぶ SQL徹底指南書 (CodeZine BOOKS): ミック: 本
  • 1