|
Zope とプロダクト
Zopeやプロダクトに関する話しはここに書きましょう。
なお当ボードは Zope.org とは一切関係ありません。
-
73
kiyo
2004/11/03 15:14
id: SqALsodDuX2
prob: 0.1%
-
-
>>72 本当はロックすべきなのかも?
私の妄想的意見(あくまで意見なのです)
そもそもロックしなければいけないのでしょうか?
FSCounter.py 内の__version__ = '1.3.2' を使っていて約20万アクセスあってもエラーは出なかった。
じゃ、1.3.2 以降どう変更されたかと言うと
self.REQUEST.get('HTTP_X_FORWARDED_FOR', '') をよみだした時からエラーがでているような気がします。
この HTTP_X_FORWARDED_FORに unknown 文字列を含む時がある事も解っているので、これをシフト演算すると間違いなくエラーがでると思う。
このエラーが起こった時に別の新規アクセスがあると。。。(ほんとは解りません/アチャー)
# 前に投稿したのは Vine 3.1がそろそろ発売になりそうなので、Vine3.0に置いてあるZope-FSCounter-1.3.4-0vl6を修正又は削除したらって思ったのです。舌足らずで申し訳ないです。
-
72
owa
2004/11/02 00:36
id: mJs8kxp1Zus
prob: 0.0%
-
-
>>70
FSCounter-1.4.0 でもゼロクリアされる現象が起きました。なんで?
write はロックかけてるので一応信用するとして、read にいちいちロックかけるのは気が向かない。(本当はロックすべきなのかも?)
ip アドレスで重複チェックかけてる場合、一日単位で ip テーブルをクリアするので、そのタイミングでカウンタ値をインスタンス (self.last_count) に持たせることにしました。昨日より小さい値の場合はカウンタを更新しないという
つもり。副作用で、毎日の増加分が得られます。
ftp://owa.as.wakwak.ne.jp/pub/Vine/VineSeed/patch/FScounter....
既存のサーバにインストールした場合不具合がでそうな気がするので、まだ正式ではありません。
# そう云えば少し前に mutex で対応すれば良いと云うような記事がありました。
# http://bbs.zhost.sytes.net/47
追記:
11/03 00:51 - やはりバグありますね。トップページの today カウントがクリアされません;;
-
71
owa
2004/10/30 21:26
id: mJs8kxp1Zus
prob: 0.0%
-
-
>>70 Zope-FSCounter-1.3.4-0vl6がちょっと変
だいぶ変ですね。手を入れたコードが汚い;;
最初の二件はおっしゃる通りで、良くないのでソース直してみましたが、途中で
FSCounter-1.4.0 見たら良さそうだったので乗り換えました。(申し訳ない)
ロックファイルは元々無かったものなので捨てました。しかし write 文で排他制御は必要だと思うのでパッチを追加しました。
ftp://owa.as.wakwak.ne.jp/pub/Vine/VineSeed/patch/FScounter....
#「unknown」の方は、後で考えます。
# FSCounter 止めようかと思ってたけど、まだ使えそうですね。ありがとうございます。
-
70
kiyo
2004/10/30 16:51
id: SqALsodDuX2
prob: 0.0%
-
-
久しぶりに投稿^^;;
Vine 3.0 にある Zope-FSCounter-1.3.4-0vl6がちょっと変なのですが。。。
カウンター値に新しい値を入れてをPOSTしても変化がないようです。
FSCounter.py の150行目付近
----
def __write_(self, newvalue=''):
''' write newvalue to file or increment '''
value = 0
try:
- value = self.__read_()
+ value = self.read()
lock = open(self.lockfile, 'w')
---
とすると良いようです。FSCounterを作成直後に 存在しないファイル($ZOPE_INSTANSE/var/xxx.counter)を読みに行ってエラー。で結局ファイルの作成に失敗するようです。
それと 古いZopeからimport/Exportで持って来た場合、独自に拡張された self.datafile,
self.lockfileが存在しない為うまく動作しないようです。110行目付近
manage_edit付近に以下のようにしたらどうでしょう?
----
def manage_edit(self, title, cookie_yn=0, cookie_name='', padded_value='5', images_folder='misc_/FSCounter',
image_type='', ignore_addrs=(), newvalue='', ip_tracking=0, REQUEST=None):
"""edits the object"""
self.title = title
+ if not self.lockfile:
+ self.datafile = str(Globals.data_dir) + os.sep + str(self.filename)
+ self.lockfile = self.datafile + '.lock'
---
あと HTTP_X_FORWARDED_FORですが、UserCounter等をみていると IPアドレスが
「unknown,123.456.789.012」 のようにありますので、「unknown」を削除する為 330行付近を以下のようにしてみました。
----
def ignore_ip(self, REQUEST):
''' check if the ip should be ignored '''
ignore = 0
if self.ignore_addrs:
rAdr=self.REQUEST.get('HTTP_X_FORWARDED_FOR', '') or self.REQUEST.get('REMOTE_ADDR', '')
+ radr_p = string.find(rAdr,',') + 1
+ rAdr = rAdr[radr_p:]
----
-
69
owa
2004/10/28 19:26
id: mJs8kxp1Zus
prob: 27.1%
-
-
apache のリリースについて、正確な情報は cvs の status にあるそうです。
http://cvs.apache.org/viewcvs.cgi/apache-1.3/STATUS
http://cvs.apache.org/viewcvs.cgi/apache-1.3/STATUS?view=mar...
hayashi さんの記事で知りました。
1.3.34-dev: In development.
1.3.33: Tagged October 27, 2004
1.3.32: Tagged October 18, 2004. Not formally released.
1.3.31: Tagged May 7, 2004. Announced May 11, 2004.
1.3.30: Tagged April 9, 2004. Not released.
-
68
owa
2004/10/27 23:52
id: mJs8kxp1Zus
prob: 0.0%
-
-
>>67 そういうリリースアナウンス有るべきでしょう
色々考えさせられます。リリースアナウンスのページはまだ見ることができますし。
セキュリティ問題が絡むとややこしくなる上に、公開してしまったら対処はどうするのか?
*.jp の立場ではどうするの、巷で乱立 (失礼) してる *.jp 各々の実体は信頼できるの?
「エ〜〜〜ッ」ってのは僕も実感です。なんか変だとも思います。
鯖の管理者としてはもっと慎重な態度が必要でしょうけど、それはまた違う話で。
-
67
hoihoi-p
2004/10/27 21:59
id: f4EbtcS9oVc
prob: 24.0%
-
-
>>[Apache-Users 4724]:そもそも、1.3.32 は正式にはリリースされていません。
>>tar ball まで作成されながらリリースされなかったのには理由があるのです。
エ〜〜〜ッ。
>> http://www.apache.jp/
>> Apache 1.3.32 がリリースされました (2004/10/21)
って、かいてありますよ〜〜。 あれは嘘?
それなら、そういうリリースアナウンス有るべきでしょう。絶対。
それとも、apache.jp が、確認もしないでリリースアナウンス出したの?
「apache.jp と apache.or.jp は別です。」とでもいうのかな?
なんか、変じゃない。
もっとも、フリーソフトだから、自己責任なんだけど。 ・・・・・。!!
-
66
owa
2004/10/27 20:19
id: mJs8kxp1Zus
prob: 0.3%
-
-
>>65
apache-1.3.32 は正式リリースでは無いらしい。
http://mm.apache.or.jp/pipermail/apache-users/2004-October/0...
http://d.hatena.ne.jp/kinneko/20041027#p6
準備万端だったけど、最後になんかあった?
おまけに、最新 (26 日付) 見れば mod_rewrite の障害報告が載っていた。
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14518
ml 投稿前に再度チェックして置けば良かった。(恥
でも既にセキュリティ脆弱性は明らかにされてるし、
IT 関連のニュースにも 1.3.32 リリースが大きく報じられています。
http://www.itmedia.co.jp/enterprise/articles/0410/23/news005...
インストールした人多いんじゃなかろうか?
-
65
owa
2004/10/26 22:03
id: mJs8kxp1Zus
prob: 0.0%
-
-
>>64 やっぱりバグでしょう
tcpwatch を間に入れて確認してみました。
● apache-1.3.32-0vl1
==>GET /VirtualHostBase/http/localhost:80/VirtualHostRoot/test/query%3Fwho=hoge?who=hoge HTTP/1.1
○ apache1.3-1.3.32-uvl1
==>GET /VirtualHostBase/http/localhost:80/VirtualHostRoot/test/query?who=hoge HTTP/1.1
apache が直接吐いてるものと思って構わないでしょう。mod_rewrite は多機能でしかもソースは 4493 行もあるので、すぐに理解するのはちと無理です;; ml に投げるしかないかなー
# また恥じをかきに行くようなものだけど...疑ヲ見テセザルハ勇ナキナリ
追記: と云うことで apache-users (jp) に投稿してみました。
http://mm.apache.or.jp/pipermail/apache-users/2004-October/0...
-
64
hoihoi-p
2004/10/26 09:39
id: f4EbtcS9oVc
prob: 0.0%
-
-
>>63: Lオプションの欠落で・・・・・は無いと思います。
失礼しました。
>> [VineSeed:09510] Re: upload: apache
なんて、でてますねー。 これが原因とは思えないけど。
追伸
>>http://owa.as.wakwak.ne.jp/zope/coreblog/115
>>http://www.wedgeshape.com/wedge/gwbs/114 に続報がありました。
ほほー。 これは仕様変更? やっぱりバグでしょう。 たぶん。
パッケージ頂いていきます。 m(_ _)m
|
|