こんにちは、WPホームページ研究所の運営サポートチーム(@WP_LABO)です。
SQLiteはサーバー上にデータベースが作成される仕組みです。もしレンタルサーバーの仕様でブラウザからアクセス可能な位置にファイルを保存しなければならなければ「htaccess」で保護しておきましょう。
SQLiteの書き出しファイルをhtaccessで保護する方法
ドメインルートに配置した「.htaccess」に以下を記述すればSQLiteファイルを保護できます。もしSQLiteで書き出されるファイル名の拡張子を「.sqlite3」としているなら「db」の箇所をsqlite3に変更しましょう。
拡張子(.db)へのアクセスを禁止にする方法
SQLiteではデータベースのファイル名も拡張子も自由なので設定した項目と一致させるだけでOK。
<FilesMatch ".(db)$">
Deny from all
</FilesMatch>
複数の拡張子(.txtと.db)へのアクセスを禁止にする
もしtxtファイルとdbファイルを保護対象にする書き方は下記となります。
<FilesMatch ".(txt|db)$">
Deny from all
</FilesMatch>
設定後にファイルを直接ブラウザで開くと「403エラー」が表示されます。閲覧権限がないエラーですね。
少し違った書き方で「SQLiteで書き出される先のフォルダ内」に以下のhtaccessを保存する方法もあります。
Deny from all
サーバー上に「database」などのフォルダを作って、そのなかにSQLiteのデータベースファイルが保存される設定にしておいて「フォルダ内を一般ユーザーからのアクセス禁止にする」方法ですね。
ドメインルートにhtaccessを置くと全ファイルが対象になるので「FilesMatch」での条件分岐が必要になりますが特定のフォルダ内に置くなら条件は必要なく「Deny from all」の記述だけで済みます。
htaccessで「SQLiteから書き出されるファイルを保護する方法」は以上です。
まとめ
本日は「SQLiteで書き出したデータベースをhtaccessで保護する方法」について解説いたしました。カンタンに言えば「SQLiteでデータベースファイルを保護する方法」は基本的に2つしかありません。
1. ブラウザでアクセスできない場所にデータベースファイルを保存する(ベスト)
2. サーバー仕様でブラウザでアクセスできる場所になる場合はhtaccessで制御する
本記事では「2」をご紹介させていただきました。サーバー側の仕様で安全な場所にファイルが保存できない場合もありますよね。そういった場合は「htaccess」でアクセスを拒否して対応しましょう。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する