読者です 読者をやめる 読者になる 読者になる

htaccessについて

参考サイト
[Q&A] htaccess設定値を、PHPから動的に読み込み 【OKWave】
[Q&A] ブラウザ上で.htaccessファイルを更新するには? 【OKWave】
.htaccessの一括管理方法について 現在IPアドレス制限を.htacces.. - 人力検索はてな

phpでhtaccessを更新したい場合、参考サイトを見る限り以下のような問題が考えられる。

htaccessはアクセスの度にwebサーバーが参照するファイルである。
それをブラウザ側でphpから動的に更新できるようにしてセキュリティ的に問題がないか?またユーザーサイトだから不特定のアクセスとなり同時に更新される場合も考えられる。ファイルの整合性に問題はでないか?

画面上で更新する場合だと、整合性はファイルロックすれば問題無いと思うけど、やはりセキュリティ的に不特定多数の人がアクセスする画面上でwebサーバーの設定ファイルを更新するのは、確かに宜しくない気がする。

どう宜しくないのか?と言われると答えることが出来ないんだけどね・・
当然、更新対象のデータはきちんと入力チェックするわけだし・・
更新がバッチになったからといって、セキュリティがどの程度良くなるかもわからない。

バッチにするとリアルタイムで反映が出来なくなるし、例えば10分毎にした場合、何もしないと必ず10分毎にhtaccessが更新されることになり、あまりよろしくない。ステータス管理をするのも面倒。

しかしバッチにすれば、あくまで更新はバッチからのみ発生することになるので余計な心配は不要になる。でもそんなこと言ったらDBはどうなる?DBだってphpから更新するのあたりまえだよね?インジェクション対策すれば問題ないの?それ以外にもリスクあるよね?

ファイル更新だろうがDB更新だろうがスクリプトに問題があれば、そこはセキュリティホールとなる。あくまで「更新するもの」が問題であって、「更新されるもの」には問題はない。

利便性で言っても、リアルタイムで反映されるからブラウザからhtaccessを更新するのが良いんだよね。わざわざバッチ用意する必要もなくなる。あとは「セキュリティ」という見ない壁をどうするか。

もしhtaccessにもIncludeディレクティブが存在すればipアドレスだけ別ファイルにすることで多少セキュリティ的に良い気がするけど、htaccessにはIncludeディレクティブは存在せず、ファイルを読み込むようなことは出来ない。

そもそもhtaccess自体がhttpd.confから見れば別ファイルになるわけだし。
とはいえhttpd.confの場合だとapacheの再起動が必要になるので、それも難しい。

色々考えたけど、やはり業務でやる以上、安全策を取るべきなんだろう。
なので今回はバッチでhtaccessを更新しようと思う。
リアルタイムでなくなるのと、バッチを作る面倒さと、htaccessを更新するかどうかのステータス管理をする面倒さは発生するが・・・・

でもそれだとプロとはいえねーな―。理由は分からないけど、危なそうだからという理由なら素人だって言えるわけで(まあ素人と大差ないけど)。入力チェックした内容に従って更新をかける訳だから、危ないわけ無いよね?そこがセキュリティリスクになるわけないよね?

とにかくもう少し検討しよう。