![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 7.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Wie ktoś jak zrobić by zablokować IP które łączyło się w jakimś czasie więcej razy z moja stroną niż ja na to pozwolę. Tzn. ustalam, że np. z każdego IP można wywołać moją stronę 200 razy na 5 min, jeśli wywoła ją 201 razy to zostanie to IP zablokowane na określony przeze mnie czas. Nie wiem za bardzo jak się do tego zabrać, szukałem w necie i nic co by mi mogło odpowiadać nie znalazłem. Za wszelkie rady albo linki do miejsc gdzie je dostanę będę wdzięczny ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
Witam Wie ktoś jak zrobić by zablokować IP które łączyło się w jakimś czasie więcej razy z moja stroną niż ja na to pozwolę. Tzn. ustalam, że np. z każdego IP można wywołać moją stronę 200 razy na 5 min, jeśli wywoła ją 201 razy to zostanie to IP zablokowane na określony przeze mnie czas. Nie wiem za bardzo jak się do tego zabrać, szukałem w necie i nic co by mi mogło odpowiadać nie znalazłem. Za wszelkie rady albo linki do miejsc gdzie je dostanę będę wdzięczny ![]() W samym apache to nie widziałem ale możesz zrobić to na iptables tam można robić różne cuda, pod warunkiem że masz linux albo IPF jeśli masz Unix ![]() inaczej to może być ciężko lub niewykonalne, ale raczkuję w php może takie cuda są ![]() Popytaj na forach ze swoim systemem Redelek -------------------- Pozdrawiam
Piotrek R |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 235 Pomógł: 17 Dołączył: 18.07.2007 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
w samym apache chyba nie da się tego zrobić, da się natomiast na stałe zablokować pewne IP. polecam zrobienie bazy danych i zapisywanie tam ilości wyświetleń ;-)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
nie wiem, czy o to chodzi ale spróbuję...
tutaj masz ip gościa, który odwiedza stronę - $_SERVER["REMOTE_ADDR"] za każdym razem jak ktoś wchodzi na stronę dopisujesz sobie do bazy albo do pliku dla tego ip wizyty +1 (wystarczą w sumie 2 pola, 'ip', 'wizyty') jeśli takiego ip jeszcze nie ma to dodajesz nowy rekord, gdzie wizyty = 1 a ip = $_SERVER["REMOTE_ADDR"]. Jeśli ip już jest to to tylko wizyty +1. No a później to już:
Z zapytaniami do bazy albo do pliku pewnie sobie poradzisz...?! Pamiętaj o dynamicznych ip, nie wystarczy sprawdzić tylko ip aby rozpoznać konkretny komputer. Pozdrawiam |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 7.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Z zapytaniami do bazy albo do pliku pewnie sobie poradzisz...?! Pamiętaj o dynamicznych ip, nie wystarczy sprawdzić tylko ip aby rozpoznać konkretny komputer. Nad tym też właśnie się zastanawiałem, czy istnieje w ogóle jakaś możliwość wykrycia kogoś takiego? Sprawdzanie numeru MAC karty sieciowej, go też da się zmienić, ale już nie tak łatwo? Tylko czy jest to ma sens i jest możliwe do zrobienia? A może jeszcze jakieś inne rozwiązanie typu ciasteczko? Z zapytaniami nie ma problemu ![]() Za porady dzięki ![]() Ten post edytował Tagrussel 13.02.2008, 06:35:26 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
o sprawdzaniu MAC nie słyszałem, ale nie siedzę zbyt długo w PHP.
Można oczywiście dopracować skrypt, aby lepiej identyfikował danego użytkownika. Ciasteczko jest chyba najprostszym rozwiązaniem ale niestety bardzo łatwo je wyłączyć. Ja stosuję ciasteczka do sprawdzania, które wiadomości na mojej stronie zostały przeczytane przez danego użytkownika. Jako ciasteczko towrzę tablicę: news[id_news] Jak ktos wyświetla newsa to sprawdzam, czy ciasteczko np: news[12]==1, jeśi nie to rekord do bazy, że dana wiadomość została przeczytana. Generalnie można kombinować z tablicą $_SERVER, zawiera ona między innymi informacje o systemie operacyjny, przeglądarce itp. Pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 19:48 |