<< blog(基本的なこと) | Main | メディアを鵜呑みにするな >>
Similarity Search の負荷軽減に jscache にて公開のスクリプトをINTO THE WORLDに設置を機にblosxomの方にもbulkfeed similarityを導入してみた。
で、設置しながら気づきましたが。 このまま設置しておくと他人からも使用される可能性があります。 というか使えます。=他人の鯖のキャッシュがたまる。
世の中あくどい人が居ますので(ぉ、他人の設置できましたーってのを見に行ってソースからURIを見れば『このURLね。フフーン。( ̄ー ̄)ニヤリッ』と思って使う人が出てこないとも限りません。
なので、とりあえず特定URL以外からの使用を禁止してみる様に変更してみました。改変部分は以下適当に記載します(ぉ。 REFFER見て特定URL以外は何も返さないようにするだけで充分でしょう。
とりあえず変数増やすのでuse varsの部分に@urlを追加
use vars qw($VERSION $remote_url @url $cache_dir $cache_ttl $get_app $debug);
設置URLをリストにする。(とりあえずドメインレベルでよいかと)
# 設置URL
@url = ("run.cha.to","run.main.jp");
単純にREFERERに指定URLが含まれなかったら処理終了
if(judge_url()){ exit; }
sub judge_url {
foreach(@url){
if($ENV{'HTTP_REFERER'} =~ /$_/){
return 0;
}
}
return 1;
}
とりあえず改変部分はこんなもんです。
if(judge_url()){ exit; }
は
if (-e $cache_file && -M _ < ($cache_ttl / (24 * 60))) {
の前におけば良いでしょう。
自分用のは適当に使った人にはメッセージが出るようにしています。
別に使う上ではそこまですることもないでしょう。
まあ、そこら辺はお好きな方がやってくださいな。
5/11;追記
jscache 0.02がリリースされていますので今から使用する方はそちらをどうぞ。私の改変例では設置URLを記載しないとすべてがはじかれてしまいますが、miyagawaさんのはそれに対してきちんと対応していますので。
TrackBack URL
このエントリにTrackBackするには、以下のURLにTrackBack pingを送ってください。
Post a comment