2006年03月18日 [長年日記]
_ りにゅーある…?の2
今度は、いぬそふとたちのサイトの構成を変えてみた。 同じようにサイドバーがある構成にしたので、いぬそふとなリンクから掲示板などへのリンクがちょっとわかりやすくなったかな。
でも、W-ZERO3のIEだとサイドバーにならず、下にいってしまうみたいですね(T-T) 回避策は考えてみます。しばしお待ちを…m(_ _)m
_ [tDiary] つっこみスパム。
ついに古い日記のつっこみスパムたちをきれいに消し去りました。 …ちょ〜っと、スパムじゃないつっこみも消してしまいましたが…。*1
最初は、tdiary-comment-cleanで消そうと思ったんだけど、つっこみにURLを書いてくれている人が結構居たのでうまい正規表現が見つからず、結局ひとつずつ手でしこしこ消していきました。 数百のつっこみスパムを消し去るのはちょ〜っと骨でしたね。
で、そんな手で消す作業をするために、chmod.rbというtDiaryプラグインを書きました。 ウチとこって、CGI経由で生成されたファイルってownerがnobodyになっちゃうからtelnetしてもそのファイルたちをいじれないんですよ。 なので、無理やりtDiaryのデータファイルをchmod 606することで対処したわけです。 多分あんまり需要はないとは思うのですが、一応公開しておいてみます。
# chmod.rb
def chmod(mode)
result = ""
Dir.glob("#{@conf.data_path}**/*").sort.each do |fname|
file = File.stat(fname)
own = if file.owned?
if mode == "true"
if file.directory?
File.chmod(0707, fname)
else
File.chmod(0606, fname)
end
"!"
elsif mode == "false"
if file.directory?
File.chmod(0707, fname)
else
File.chmod(0604, fname)
end
"!"
else
"*"
end
else
" "
end
file = File.stat(fname)
result << own << " " << file.mode.to_s(8) << " " << fname << "\n"
end
result
end
add_conf_proc( 'chmod', 'chmod' ) do
result = ''
if @mode == 'saveconf' then
result = chmod(@cgi.params["chmod.mode"][0])
end
html = ''
html << '<p>'
html << "<hr />"
html << "<p>"
html << %Q[<input type="radio" name="chmod.mode" value="true">書けるようにする。<br>]
html << %Q[<input type="radio" name="chmod.mode" value="false">書けないようにする。<br>]
html << %Q[<input type="radio" name="chmod.mode" value="show" checked>今の状態を見る。<br>]
html << "</p>"
html << "<pre>"
html << result
html << "</pre>"
html << '</p>'
html
end
*1 書いてくれていた人ごめんなさいですm(_ _)m
掲示板の方も、スパムが。<br>有名税?(^^;)
藤代さん><br>そーなんですー(T-T)<br>有名税かどうかはさておき、掲示板のスパムが最近また増えてきてしまって…。<br>今は手でしこしこ消してます。<br><br>掲示板CGI(Child Tree)がPerlなスパゲティ(にしか私には見えない)ソースなので、<br>どうするとフィルタできるのか…。<br>とりあえず、Child Treeのバージョンをあげてみようと思ってます。