SQLインジェクションについて(IPAの資料を読むべし)

SQLインジェクション

SQLインジェクションという言葉が流通し始めたのは15年ほど前でしょうか。有名なサイトの個人情報が抜き取られ、そのことで閉店にまで追い込まれたところもありました。

現在はデータベースをバックエンドとするWebアプリケーションは、このSQLインジェクションの対策が施されていて当然です。

しかし、僅か数年前にSQLインジェクションの対策が全く施されていないWebアプリケーションに遭遇しました。
単に対策が施されていないだけではなく、シングルクォートを入力するとご丁寧に実行しているプログラム名がブラウザに表示されてしまうというもの。
他にもとんでもない設定になっていましたが、あまりにも酷いので記載することは控えます。

Webアプリケーションに関わる人たちは以下のIPAの資料を必ず読むべきです。
安全なウェブサイトの作り方

化学構造式検索データベース

以前に関わったことがある技術です。

その頃は日化辞Webと言っていましたが、今はJ-GLOBALに統合されたようです。
J-GLOBALとは科学技術振興機構が運営している、様々な分野の科学技術情報を集めたサイトです。

このサイトの検索フォームにあるプルダウンから「化学物質」を選択すると、化学構造式を描画できるフォームが現れます。

このフォームにベンゼン環を描画して検索すると、化学構造式の一部にベンゼン環が含まれる化学構造の一覧が表示されます。

まるで、ベンゼン環の画像を部分的に含んでいる画像を検索しているかのようですが、これはバックエンドのデータベースにベンゼン環の化学構造式を投げ、部分一致検索で結果を抽出しているものです。

化学構造式をクエリ変換し、SQL文としてデータベースに問い合わせる仲立ちをしているものはCartridgeと呼ばれるものです。

以前は、データベースはOracleでしたが、現在はMySqlでも実現可能なようです。

ところで、FUJIFILMのサイトでも化学構造式検索が可能です。
FUJIFILMは事業転換がうまかったですね。
企業は常に変化を見極めていかなければいけないのだろうと思える事例です。