![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 8 Dołączył: 28.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam panowie lub panie, ale wątpię żeby takowe tutaj przebywały.
Mam do was pytanie bardziej teoretyczne, ale koniecznie mi do pracy. Mianowicie powiedzmy że buduję sobie portal, w nim mam możliwość pisania komentarzy dla użytkowników niezalogowanych, oczywiście jest ono zabezpieczone przez captche i powiedzmy dodam jeszcze jakieś zabezpieczenie przed CSRF w postaci jakiegoś tokenu. Tak więc generalnie mogę dzięki temu uniknąć botów które chciałyby oferować powiększenie penisów i inne mrzonki. Jednak powiedzmy że ktoś uparty chciałby sam z siebie dodawać śmieciowe posty. Nie mówię tu już o typowym spamie, bo przed tym też mogę się zabezpieczyć jakimś Akismet'em lub czymś podobnym, ale przed trollowymi postami, tylko po to by zaśmiecać bazę i obciążać serwer. No i właśnie tutaj moje pytanie jakie rozwiązanie antyfloodowe dla takich niezalogowanych użytkowników, bo generalnie możliwości teoretycznie jest kilka, np. zapisywanie IP do bazy danych, i sprawdzanie timestamp pomiędzy ostatnim dodanym a obecnym postem, jednak jest to IMO nie optymalne, primo ze względu na dynamiczne IP, a z drugiej strony na IP wewnętrzne, czyli jeden adres dla całej sieci. Druga możliwość to np. użycie tych szatańskich narzędzi (IMG:style_emoticons/default/smile.gif) jak np Evercookie i babranie się z tym, no ale ja nie jestem zwolennikiem jakiejkolwiek inwigilacji, więc to rozwiązanie też odrzuciłem. Trzecia możliwość to tworzenie jakichś mechanizmów zabezpieczeń w postaci kombinacji ciastek i sesji. No ale to też nie jest extra bo jednak wystarczy zmienić przeglądarkę i po wszystkim. Czwarta możliwość ku której aktualnie się skłaniam jest stworzenie czegoś w rodzaju odcisku palca przeglądarki, zawierającego dane których dany użytkownik przy danym komputerze nie jest w stanie w danej chwili zmienić, zapisanie tego do bazy i sprawdzanie. Nie wiem jednak co mogłoby tam być, bo z góry odpada nam UserAgent i właśnie IP. Stąd też moje pytania: Co sądzicie o takim rozwiązaniu? Czy waszym zdaniem jest ono skuteczne? Jakie dane można by kodować w takim fingerprincie? No i przede wszystkim, czy znacie jakieś lepsze sposoby na rozwiązanie takiego problemu? Wiem że troszku się rozpisałem, ale mimo wszystko liczę że ktoś mi odpowie. Dodam też że szukałem czegoś podobnego po internecie ale nie znalazłem nic konkretnego. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 49 Dołączył: 12.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Druga możliwość to np. użycie tych szatańskich narzędzi (IMG:style_emoticons/default/smile.gif) jak np Evercookie i babranie się z tym, no ale ja nie jestem zwolennikiem jakiejkolwiek inwigilacji, więc to rozwiązanie też odrzuciłem. Czwarta możliwość ku której aktualnie się skłaniam jest stworzenie czegoś w rodzaju odcisku palca przeglądarki, zawierającego dane których dany użytkownik przy danym komputerze nie jest w stanie w danej chwili zmienić, zapisanie tego do bazy i sprawdzanie. Nie wiem jednak co mogłoby tam być, bo z góry odpada nam UserAgent i właśnie IP. Przeczysz sam siebie (IMG:style_emoticons/default/smile.gif) Nie chcesz się babrać w proste cookie, ale UserAgent, IP i inne chcesz zbierać (IMG:style_emoticons/default/nerdsmiley.png) Zrób zwykłe cookie, które zapiszesz u usera z ważnością na ile tam chcesz - 30 sekund, minuta, dwie... Ten post edytował IceManSpy 31.05.2011, 17:50:54 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie ma skutecznego rozwiązania, a stosowanie ograniczeń na IP (jak sam wiesz) jest bez sensu. Pozostaje proste sprawdzanie ciastka, skuteczne na tych mniej obeznanych userów. Myślę że przy zastosowaniu captchy mało któremu trollowi zachce się dokuczać. I tu jest właśnie miejsce dla moderatora (IMG:style_emoticons/default/wink.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 00:53 |