Backport(バックポート) #1223
アクセスブロックが意図しないタイミングで解消される
開始日:
2010-06-28
期日:
進捗率:
0%
説明
Overview (現象)¶
PC版のみで確認。
確認したOpenPNEのバージョンは3.5.3。
- (1) メンバーAとBがフレンドになる
- (2) メンバーAがメンバーBをアクセスブロックする
- (3) メンバーAとメンバーBがどちらかの操作によりフレンドを解消する
- (4) メンバーAがメンバーBのページにアクセスする
- (5) メンバーBがメンバーAのページにアクセスできる
(1) と (2) の順序は交換可能。
(2) でアクセスブロックを行ったにもかかわらず、(5) でアクセスされるのは意図しない流れだと思われる。
Causes (原因)¶
フレンドを解消した状態 (3) で、member_relationship テーブルのメンバーAとBの両者に関するレコードが is_friend=0, is_friend_pre=0 となるが、その状態で相手にアクセスするとそのレコードが削除されるようになっているのが原因だと思われる。
そのレコードには is_access_block の情報が含まれており、削除されてしまうことで意図しない (5) のアクセスが可能になってしまっている。
Way to fix (修正内容)¶
具体的な修正箇所はソースコードを追っていないのでここでは示せない。
関連するチケット
履歴
#1 Yuki Yamashita がほぼ14年前に更新
- 対象バージョン を OpenPNE 3.4.6 から OpenPNE 3.2.7 に変更
#2 Itsuro Tajima が13年以上前に更新
- 担当者 を Itsuro Tajima にセット
#3 Itsuro Tajima が13年以上前に更新
- ステータス を New(新規) から Accepted(着手) に変更
#4 Itsuro Tajima が13年以上前に更新
- ステータス を Accepted(着手) から New(新規) に変更
#5 Itsuro Tajima が13年以上前に更新
- 担当者 を削除 (
Itsuro Tajima)
#6 Shinichi Urabe が13年以上前に更新
- ステータス を New(新規) から Invalid(無効) に変更
再現しません
ソースコード上でも member_relationship を削除している箇所がないため、
通常の操作では再現しないと考えられます
#7 Minoru Takai が13年以上前に更新
改めて問題の有無を確認しました。
確かに 3.2 ではレコードの削除が行われず、問題が再現しませんでした。
このチケットは Invalid で問題ありません。