PHPを独学するなら、Udemyの動画講座で
PHP 7も使えて快適な エックスサーバー

アプリケーションのデータ蓄積用ファイルにテキストファイルやExcelファイル、SQLiteデータベースなどを使っている場合、ファイルへの直接アクセスに注意が必要です。ブラウザなどから直接アクセスされると、ファイルの中身が丸見えになってしまいます。

この場合、.htaccessに「Deny from all」と指定すれば、直接アクセスを防ぐことができます。具体的には、次のように記述すれば、拡張子がxls、txt、dbのファイルにはブラウザから直接アクセスできなくなります。

○.htaccessの設定

    Deny from all

.htaccessはテキストエディタで作成できます(Windowsのエクスプローラーの右クリックメニューからは作成できません)。上記のコードを入力して「.htaccess」という名前でデータファイルが格納されているディレクトリに保存します。.htaccess.txtではないので注意してください。この名前のファイルを保存できない場合は、ひとまず.htaccess.txtという名前で作成し、レンタルサーバーにアップロード後にファイル名を.htaccessに変更する方法があります。

○実行結果

ブラウザから直接アクセスされても、内容が表示されなくなります。データファイルだけではなく、拡張子がincのインクルードファイルを使用している場合にも、ロジックが丸見えになってしまうので対策が必要です。

ディレクトリにあるファイルの拡張子を指定して直接アクセスを防ぐには、次のように記述する方法があります。この例では、拡張子がtxtとdatのファイルが対象になります。

○直接アクセスを禁止するファイルの拡張子を指定

<FilesMatch ".(txt|dat)$">
Deny from all
</FilesMatch>
スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHPサンプルコード

PHP関数

WordPress

エラーメッセージ

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク