弊社のNotes/Domino開発tipsの概要をお届けするブログの第234回目です。次回の配信は、2025年11月10日(月)10時頃を予定しています。

配信概要

次回の配信もDQLについてです。
SQLではSQLインジェクションという不正な攻撃手段* があります。
これはクエリーの内容を書き換えることにより、必要以上のデータを抜き取るというものです。
こういったことを防ぐためにSQLではプレースホルダーを使うことで回避するというのが一番簡単かつ重要な対策とされています。
DQL でも同様の対策を行うための「代替変数」という機能が備わっています。記事ではこの機能の詳しい利用方法や注意事項について解説します。
また、使った場合とそうでない場合との検索結果の違いについても図入りで説明します。

これで主要なメソッドについては解説することになります。過去の記事も含めてしっかりと読んでDQLをマスターしましょう。

* これはLotusScriptのSearchメソッドやFTSearchメソッドでも検索式の書き方によっては発生してしまいますが、DQLのような機能は備わっていないので注意しましょう。

サンプルコード

サンプルコードは直接実行できませんが、ダウンロードして利用できるようにしてあります。
実際にNotes DBにセットして利用した結果が下図になります。

サンプルコードを実行した結果(クエリーを不正に入力している)
クエリー検索の結果(不正なクエリーを判断したため、検索できていない)

本サービスについて

本サービスは有償サービスです。1名様からのご利用が可能となっています。
配信を受けるにはNotesクライアントもしくはNomad Mobile、Nomad Webが必要です。
詳細については、Notes/Domino開発tipsサービスをご参照ください。