Niedopracowane banowanie

1

Niedawno testowałem działanie systemu banowania i muszę stwierdzić, że wymaga on dopracowania.

Jeśli byłem zalogowany na danym urządzeniu, to przy wejściu na 4programmers pokazuje mi się prosta stronka:
screenshot-20210831001208.png

Użytkownik musi sobie wyczyścić dane przeglądania 4p, albo wejść w trybie prywatnym i już może przeglądać zawartość serwisu.

Tylko, że nawet jeśli się wylogujemy w ten sposób, to potem nie da się zalogować. Przy próbie logowania pokazuje się komunikat, że "konto jest zablokowane".
Nie możemy już zobaczyć informacji o identyfikatorze bana i o czasie trwania.

Moim zdaniem użytkownik z banem, powinien móc zalogować się do serwisu i chociaż obsługiwać go tak samo jak osoba niezalogowana.
Informację o banie można wrzucić np. nad logo 4p. A sam ban odcinałby funkcje, które są dostępne tylko dla osób zalogowanych.

2

albo wejść w trybie prywatnym i już może przeglądać zawartość serwisu.

Tylko jeśli ban jest założony wyłącznie na konto w serwisie. Możemy też zbanować IP albo fingerprint i wtedy już sobie nie wejdziesz.

1

@Shalom: Słabe, mam kilka tabletów i telefonów. No i zmienne IP - w sieci komórkowej/ADSL.

0
Spine napisał(a):

Jeśli byłem zalogowany na danym urządzeniu, to przy wejściu na 4programmers pokazuje mi się prosta stronka:
(…)

Użytkownik musi sobie wyczyścić dane przeglądania 4p, albo wejść w trybie prywatnym i już może przeglądać zawartość serwisu.

Masz na myśli wejście i próbę logowania czy samo wejście?

Moim zdaniem użytkownik z banem, powinien móc zalogować się do serwisu i chociaż obsługiwać go tak samo jak osoba niezalogowana.
Informację o banie można wrzucić np. nad logo 4p. A sam ban odcinałby funkcje, które są dostępne tylko dla osób zalogowanych.

Nie bardzo widzę, gdzie kreślisz różnicę między funkcjami dostępnymi dla użytkownika zbanowanego a dostępnymi dla użytkownika niezbanowanego.

0
Silv napisał(a):
Spine napisał(a):

Jeśli byłem zalogowany na danym urządzeniu, to przy wejściu na 4programmers pokazuje mi się prosta stronka:
(…)

Użytkownik musi sobie wyczyścić dane przeglądania 4p, albo wejść w trybie prywatnym i już może przeglądać zawartość serwisu.

Masz na myśli wejście i próbę logowania czy samo wejście?

W momencie otrzymania bana w mojej przeglądarce jestem cały czas zalogowany. Siadam do kompa, odpalam 4programmers i widzę info o banie.
Ale gdy się już wyloguje na danym urządzeniu, to ponowne logowanie jest niemożliwe - przy próbie logowania, pokazuje się informacja, że konto jest zablokowane.

Moim zdaniem użytkownik z banem, powinien móc zalogować się do serwisu i chociaż obsługiwać go tak samo jak osoba niezalogowana.
Informację o banie można wrzucić np. nad logo 4p. A sam ban odcinałby funkcje, które są dostępne tylko dla osób zalogowanych.

Nie bardzo widzę, gdzie kreślisz różnicę między funkcjami dostępnymi dla użytkownika zbanowanego a dostępnymi dla użytkownika niezbanowanego.

Zacytowałeś tekst, który odpowiada na Twoje pytanie.
Po prostu ban nie powinien uniemożliwiać przeglądania serwisu.
Nawet jak się zaloguję na swoje zbanowane konto, to powinienem np. móc czytać posty na forum - to samo może robić człowiek bez konta (niezalogowany).

To co jest teraz, że po wylogowaniu ze wszystkich urządzeń, nawet nie sprawdzę jak długo ban jeszcze potrwa, to niepoprawne funkcjonowanie banowania.

0
Spine napisał(a):

Ale gdy się już wyloguje na danym urządzeniu, to ponowne logowanie jest niemożliwe - przy próbie logowania, pokazuje się informacja, że konto jest zablokowane.

oraz

To co jest teraz, że po wylogowaniu ze wszystkich urządzeń, nawet nie sprawdzę jak długo ban jeszcze potrwa, to niepoprawne funkcjonowanie banowania.

Czyli rozumiem, że tutaj problemem jest niespójność – są dwa różne komunikaty, zawierające różne informacje, a nie ten sam.

Po prostu ban nie powinien uniemożliwiać przeglądania serwisu.
Nawet jak się zaloguję na swoje zbanowane konto, to powinienem np. móc czytać posty na forum - to samo może robić człowiek bez konta (niezalogowany).

Nadal nie rozumiem. Jeśli to konto danego użytkownika zostało zablokowane – w opozycji do blokowania np. IP, o czym pisze @Shalom – to wnioskuję, że nadal może on korzystać z wszystkich funkcji dostępnych dla użytkowników niezalogowanych. Nie jest tak?

0
Silv napisał(a):

Nadal nie rozumiem. Jeśli to konto danego użytkownika zostało zablokowane – w opozycji do blokowania np. IP, o czym pisze @Shalom – to wnioskuję, że nadal może on korzystać z wszystkich funkcji dostępnych dla użytkowników niezalogowanych. Nie jest tak?

Tak. Ale np. nie może nawet przeglądać swoich wiadomości prywatnych. Ban chyba nie powinien zabraniać takich rzeczy ;)
Jeśli rozsyła i spamuje, to ok, można mu zabronić pisania. Ale przeglądanie powinno być możliwe.

Część ustawień konta też raczej nie są szkodliwa.

1

Ach, rozumiem, czyli postulujesz bardziej drobiazgowe określenie funkcji, które są blokowane przy banie, zamiast blokowania dostępu do konta w całości.


PS Może można by też informację o banie przetłumaczyć na język polski.

0
Silv napisał(a):

PS Może można by też informację o banie przetłumaczyć na język polski.

Chyba już prędzej na chiński. Więcej ludzi zrozumie :D
Tak wnioskuję po uprawnieniu pierwszego stopnia - zapobieganie chińskiemu spamowi :]
screenshot-20210831034424.png

2

w ogóle bany to przeżytek - z internetem mobilnym, zmiennymi IP, VPN itp nie da się skutecznie kogoś zablokować
lepszym podejściem są shadowbany - troll sobie może dalej pisać co tam chce ale jego treści się wyświetlają tylko jemu a on przez długi czas może się o tym nie dowiedzieć, więc nie będzie próbował niczego omijać

6

@obscurity: zapewne tak. shadow bany nasuwają jednak pewne problemy. Weźmy na przykład forum. Obecnie mamy tabelę topics w której są kolumny replies czy last_post_id. Sprawa jest prosta. Każde kolejne dodanie posta, zwiększa licznik odpowiedzi oraz uaktualnia ID ostatniego postu.

W przypadku gdy zbanowany użytkownik doda ostatni post, tych kolumn nie należy zmieniać. Inna sprawa jednak jest taka, że ów użytkownik powinien jednak widzieć swój post na liście wątków. Tak samo licznik - dla niego powinien być zwiększany. Dodatkowo trzeba też zadbać o powiadomienia (nie wysyłać ich). Pewnie jest jeszcze kilka innych aspektów. Jak to ogarnąć wydajnościowo? Co w przypadku usunięcia bana? Trzeba wtedy "naprawiać" wątki w których brał udział zbanowany user?

O wiele prostsze do zrobienia jest to w mikroblogach. Tam po prostu w SQL wystarczy dodać user_id NOT IN(...). Dlatego póki co w mikroblogach działa m.in. blokowanie użytkowników a na forum nie :/

1

@Adam Boduch a jak to jest zrobione dla modów? Bo jesteśmy wlaśnie taką specjalną grupą która widzi pewne posty, których inni nie widzą (usunięte).

0

@Shalom: usuwając ostatni post z wątku, aktualizowana jest kolumna last_post_id. Na liście wątków nie ma bowiem różnicy pomiędzy moderatorami a pozostałymi użytkownikami. W tabeli topics jedynie zapisana jest liczba skasowanych postów w wątku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1