2005-01-04 (火)
*日記mod_edit.cgi
ファイルに書き込めるようにしておく.CGIを作るときに困るのがファイルのアクセス権.wwwユーザに書き込みを許可するということは,普通は誰でも書き込めるように設定しなければならない.そうすると,ログインするか,ローカルで動いているプログラムのどれか一つでも乗っ取れれば,ファイルを改竄される危険性もある.
とりあえず,某所のサーバでやるときはファイルのグループをwwwにしておいて,グループの書き込み権限を付けて対処.これなら,自分のアカウントでログインするか,Apacheの権限でないと書き換えられないので,まだ安全かな.ただし,ファイルを自分が含まれていないグループにchownするためには,rootで作業しないといけない.かといって,全員をwwwグループに入れてしまうと本末転倒だし.
ApacheにsuEXECをさせれば解決できるけど,そうすると今度はサーバ自体のセキュリティーに関わってくるし….でも,ある程度ユーザが増えたらsuEXECモジュールも考えておくか.あと,誰でもプレビューまでは出来るのってある意味,XSS問題かも.まぁ,誰でも書き込めるWikiっぽいサイトは大抵その問題を抱えてるような気がしますが….
というわけで,mod_edit.cgiから更新です.