Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> System banowania oraz usunięcie sesji na stronie
maxerxxl
post 23.04.2017, 22:45:41
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 29.03.2014

Ostrzeżenie: (0%)
-----


Cześć.

Dzisiaj spotkałem się z nietypowym problemem. Otóż na moją stronę wszedł użytkownik który zaczął spamować i tworzył multi konta, które pojawiały się w bazie danych. Dodałem blokadę że można stworzyć 2 konta na jeden adres IP nadal to nie pomaga bo tworzy multi konta i zaśmieca bazę. Da się coś z tym zrobić?

Druga sprawa to taka jak mam wykonać banowanie użytkownika? Bo IP to będzie zły pomysł, są zmienne IP itp. Jest jakaś opcja zbanowania użytkownika na serial dysku czy coś takiego ? W grach jest coś takiego.

Pozdrawiam
Go to the top of the page
+Quote Post
goartur
post 24.04.2017, 12:44:53
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 19.10.2014

Ostrzeżenie: (0%)
-----


IP pomoze ale malo, najlepiej dodac captche i problem z glowy.
Go to the top of the page
+Quote Post
bostaf
post 24.04.2017, 14:18:35
Post #3





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


Nie zapobiegniesz takiemu zachowaniu, ale możesz je utrudnić - spowolnić proces rejestracji przez co złośliwy użytkownik szybciej się znudzi. I w ogóle się tym nie przejmuj - na świecie niestety są takie typy smile.gif Przyzwyczaj się, że jak robisz coś publicznie to będziesz poddawany takim "testom".
1. Tak jak napisał goartur - zaimplementuj captcha albo coś podobnego.
2. Wprowadź weryfikację adresu email mailowo - to lepsze niż captcha; bardziej spowalnia.
3. Wprowadź ograniczenie ilości kont zakładanych w danym okresie czasu.

A z drugiej strony, zaprojektuj system tak, żeby takie działania nie mogły wywołać większej szkody. Zaśmiecaniem bazy się nie martw bo bazy mają dosyć dużą pojemność. Ale wprowadź okresowe sprawdzanie bazy pod kątem nieaktywnych czy niepotwierdzonych kont, pustych postów, itp. Wyrzucaj co niepotrzebne i tyle.
Jeśli problemem są nieodpowiednie komentarze zamieszczane przez takiego użytkownika, to pomyśl o wprowadzeniu moderowania postów albo o wprowadzenia instytucji moderatora. Wszystko zależy od tego jak bardzo Twoja strona jest uczęszczana / popularna. Czasami jedna osoba zaglądająca raz dziennie na forum / stronę jest w stanie ogarnąć temat i pousuwać złośliwe wpisy i spam.
Możesz też wprowadzić stopniowanie uprawnień. Na przykład ograniczenie ilości postów dla świeżo założonego konta i podnoszenie limitu w okresach czasu. Albo moderowanie postów dla świeżo założonych kont...
Go to the top of the page
+Quote Post
maxerxxl
post 24.04.2017, 15:48:39
Post #4





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 29.03.2014

Ostrzeżenie: (0%)
-----


Dzięki za pomoc.

Zostało jeszcze jedno pytanie. W jaki sposób mogę wszystkim na mojej stronie usunąć zapisane sesję, bo usunąłem użytkownika z bazy danych i on jest zalogowany na stronie.

Bo po zalogowaniu są przydzielane sesje takie jak:
user_login
user_wallet
user_first_name
user_last_name

W jaki sposób mogę te zmienne wyzerować wszystkim użytkownikom na stronie?
Go to the top of the page
+Quote Post
bostaf
post 24.04.2017, 19:32:15
Post #5





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


Możesz usunąć te dane sesji.
Żeby wyświetlić ścieżkę do katalogu, w którym dane sesji php są przechowywane - w terminalu wpisz:
Kod
php -r 'echo session_save_path() . PHP_EOL;'

Wyświetli ci się coś w rodzaju
Kod
/var/lib/php/sessions

Dane sesji są przechowywane w tym katalogu w plikach o domyślnej nazwie "sess_ID_SESJI". Możesz podejrzeć zawartość każdego z tych plików albo znaleźć ten jeden, którego właśnie szukasz:
Kod
grep -R nazwa_usera /var/lib/php/sessions

i usunąć ten plik, czego skutkiem będzie, że przeglądarka tego użytkownika nie zidentyfikuje się już z Twoim serwisem:
Kod
rm -r /var/lib/php/sessions/NAZWA_PLIKU_Z_SESJĄ_USERA

...albo usunąć wszystkie pliki sesji, co spowoduje "wylogowanie" wszystkich użytkowników:
Kod
rm -r /var/lib/php/sessions/*

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 11:53