rNoteを使い始めて、だいぶ立ちました。
0.9.6がリリースされて1週間過ぎました。
そして、昨日 変な現象が起こりました。
その現象とは、一部のリンク元が 'http:' になるという現象で、調べてみると・・・リンク元を 'http:' に偽装してアクセスしてきた輩がいた模様。
でも、それだけで・・・と考えていたとき、rNoteにはリンク元を集計してまとめてくれる機能があったことを思い出す。
この機能をONにしてたから、前からあるURLを 'http:' を含むURLとみなして一緒に集計してしまったようだ。
実際、この後のアクセスで別のリンク元が追加されるわけでもなく、カウントアップされ続けていた。
さて、rnote.php(0.9.6) を覗いてみると、706行目に
if(!ereg("^http",$HTTP_REFERER)) return;
という行があるが、今回の事を考えると
if(!ereg("^https?://",$HTTP_REFERER)) return;
に変えておけば、とりあえず今後 'http:' に偽装されてても問題なさそうだ。
・・・'http://' に偽装されたら意味無いけどね(笑
まー根本的な解決はリンク元をまとめる部分を修正することだけど、しばらくはこれで様子をみて、本家で対応してくれるのを待つとします。
if(!ereg("^https?://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+",$HTTP_REFERER)) return;
に変えておけば、http URL に準拠しないURLを除外できるはずだ。
つか・・・
●SJ.NETは、こんな偽装すんなーヽ(・`ω´・)ノ
実は、以前の0.9.3の頃にも不具合っぽい現象が・・・
その以前の頃、とあるリンク元からアクセスされたときに2重アクセスされたらしく、リンク元のログが飛んじゃいました。
アクセスログをみると、同時刻にまったく同時にアクセスされているのが確認できた(それもひとつのIPで)
rnote.php の更新部分をみると、ログの読込み → データ更新 → ログの書込みの 読込み と 書込み を別々にファイルオープンしているようで、これなら同時(というか連続)にアクセスされたときにログが飛ぶのも納得がいく。
思うに、ログをファイルの後ろに追加していくパターンなら気にする事はないが、更新をする場合は1回のファイルオープンで読込みと書込みをしないとflockで排他にしても意味がない。
まーこのような事は滅多に起らないだろうが、ファイル更新に関しては見直して欲しいところ。
これら以外にも要望。
・ツッコミ受付終了後もリンク元は受け付けるようにして欲しい。
rnote_config.php でON/OFF選択できれば、いままでとの互換も可能かと。
・最新の更新ログで、そのログ内と同じリンク元からなら、その日付を更新し、ログの頭に持ってきて欲しい。
いまのままでは、どの記事のリンク元が頻繁にカウントアップしているかわからない。
[ このエントリへはコメント出来ません ]
考えてみれば http URL かどうか判断させればよかったので、ちょっと修正しました。
... SakaQ (09/20 15:34) [1]
|
|
|