2008年11月10日(月曜日)
パラメータの数が可変でもプレースホルダを使う
公開: 2024年11月19日1時55分頃
「Ajaxセキュリティ (rryu.sakura.ne.jp)」。書籍の脆弱性……と言うほどでもない気がしますが、「Ajaxセキュリティ (www.amazon.co.jp)」へのツッコミ。
そんなことはない。パラメータ付きクエリ文字列を動的に組み立てれば、アドホックSQLクエリを動的に組み立てるということは避けられる。
パラメータの数が可変で、プレースホルダ (「?」の部分) の数が定まらないような場合、自力でSQL文を全部を組み立てないといけないように思いますが、「?」部分を動的に組み立ててプレースホルダを使うというお話ですね。
- 「パラメータの数が可変でもプレースホルダを使う」にコメントを書く
関連する話題: セキュリティ / 本 / 書籍の脆弱性 / Ajaxセキュリティ
非公開ディレクトリvs非公開設定
更新: 2008年11月14日2時0分頃
「データベースファイルは公開ディレクトリに格納すべきではない (d.hatena.ne.jp)」。
重要なデータファイルは、外部から閲覧できるディレクトリに格納すべきではない。外部から閲覧できないディレクトリにしておけば、httpd.confにわざわざ指定する必要もないのだ。
見られて困るデータファイルは、公開ディレクトリに配置して非公開に設定するのではなく、非公開ディレクトリに配置するべきだというお話。
……で、この話で思い出したことが。
以前、社内で「cgi-binはドキュメントルートの外に置いてScriptAliasにするべきだ」という意見に対し、「cgi-binは普通のディレクトリにExecCGIでも良いのではないか」という意見が出て議論になったことがあります。
ScriptAlias派の意見としては、こういうことです。
- データファイルをcgi-binに置くべきではないが、うっかり置いても大丈夫な状態の方が良いのではないか。
それに対し、ExecCGI派の意見はこうなのですね。
- データファイルをうっかりcgi-binに置くことは絶対にあってはならない。
- 仮に今は見えない状態であっても、サーバ移転等、何らかの理由で設定が変更されれば危険になるかもしれない。実際、TBCはサーバ移転の設定変更で漏洩を招いたが、cgi-bin以下にデータを置いても見えないという油断が危機を招いた。
- あえてcgi-bin以下が見えるようにすることで、データを置くことを戒めるべきである。
つまり、「データは見えないディレクトリに置くべし」ということを徹底するために、あえてcgi-bin以下のファイルが見えるように設定するという発想です。まあ半分くらい冗談のような気もしますが、「とにかくScriptAliasのほうが安全」という短絡的な発想よりよっぽど良いかも、と思ったりしたものでした。
※2008-11-14追記: と、のんきに書いていたら、なんということでしょう、吉本興業が丸見え系で情報漏洩。見事に前車の轍を踏みました。このご時世にこんなことが起きるとは……。
関連する話題: セキュリティ
- 前(古い): 2008年11月9日(Sunday)のえび日記
- 次(新しい): 2008年11月11日(Tuesday)のえび日記