SQLiteの書き出しファイルをhtaccessで保護する方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

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」でアクセスを拒否して対応しましょう。

【今すぐ無料プラグインを手に入れる】
無料ダウンロードはこちら

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報はもちろんお好みの機能をいただければ専属スタッフが心を込めて対応させていただきます。まずはお気軽にお問い合わせくださいませ。

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください