Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyodrębnienie adresów IP botów z pliku
Forum PHP.pl > Forum > Przedszkole
AboutMe
Witam,

Ktoś próbuje shakować mi stronę za pośrednictwem pliku wp-admin/admin-ajax.php. Dodałem do tego pliku kod który zapisuje adresy IP do pliku, teraz muszę jakoś usunąć adresy IP które powtórzyły się mniej niż 100x. Czy ktoś mógłby mi podać kod który zrobiłby to?
SmokAnalog
Adresy IP, które powtórzyły się mniej niż 100 razy wydobędziesz np. tak:
  1. $ips = array_keys(
  2. array_count_values(file('plik.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)),
  3. function($occurencies) {
  4. return $occurencies < 100;
  5. }
  6. )
  7. );


P.S. Seriously, edytowałeś plik admin-ajax.php? Mogłeś to zrobić normalnie w wp-content korzystając z akcji.
AboutMe
Coś nie działa mi ten kod. Czy ktoś mógłby podać wersję w wyrażeniach regularnych to wrzucę to do edytora.
SmokAnalog
W jaki sposób chcesz to zrobić wyrażeniami regularnymi?

Kod działa, o ile masz zapisane adresy linijka po linijce, a tak założyłem. Po drugie ten kod tylko zwraca adresy, dalej musisz sobie sam poradzić. Po trzecie, zmieniłeś chociaż nazwę pliku w kodzie na właściwą?
AboutMe
wyświetla mi same jedynki: 1111111111111111111111111111

  1. $ips = array_keys(
  2. array_count_values(file('2013_11_21_log.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)),
  3. function($occurencies) {
  4. return $occurencies < 100;
  5. }
  6. )
  7. );
  8.  
  9. echo = $ips;
SmokAnalog
Cytat(AboutMe @ 22.11.2013, 10:55:10 ) *
  1. echo = $ips;

A co to za potwór? Zrób tak:
  1. var_dump($ips);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.