Back to Question Center
0

Śledzenie Semal przez IP

1 answers:

Czy możliwe jest śledzenie pobierania z witryny przez adres IP?

Semalt, chciałbym zobaczyć plik dziennika z możliwymi znacznikami czasu, wystąpieniami i kto (adres IP i / lub kraj pochodzenia) Source - eleaf istick 30w specs.

Jeśli ktoś mógłby wskazać mi właściwy kierunek

February 7, 2018

Chciałbym zobaczyć plik dziennika

Dzienniki dostępu do serwera zawierają informacje, wystarczy je wyodrębnić.

Dzienniki dostępu (plik tekstowy) zawierają zapis każdego żądania przesłanego na serwer. W dzienniku dostępu znajduje się znacznik czasu, adres URL żądanego pliku, adres IP, który zażądał pliku i kod statusu.

Podsumowując, ile razy konkretny adres IP zażądał określonego pliku, musisz przejść przez plik logu. Istnieje wiele narzędzi do przetwarzania dzienników dostępu, jednak możesz napisać własne, jeśli jest to konkretne zapytanie, którego potrzebujesz.

Aby dodać, jeśli robisz to proaktywnie, prawdopodobnie zrobiłbyś to w swoim skrypcie pobierania zapisz plik, adres IP i zwiększ licznik, gdy pobieranie zostanie wykonane.

Jeśli szukasz czegoś prostszego i bardziej konkretnego . Możesz rozważyć użycie AJAX do zbudowania własnego systemu plików dziennika (lub bazy danych) zawierającego tylko pliki do pobrania, które chcesz śledzić.

Głównym powodem tego jest: ponieważ dzienniki dostępu do serwera WWW zawierają żądanie eeeeeevery wykonane na twoim serwerze internetowym. Oznacza to, że gdy użytkownik otworzy tylko jedną ze stron witryny, może dodać (bardzo przybliżoną) średnią z 30 do 70 linii w pliku dziennika. Jedna na każdą małą rzecz na stronie (od plików HTML / CSS / JS do każdego małego pięknego 16x16px ikon, które stworzyłeś z wielką miłością za pomocą farby)

Więc jeśli chcesz śledzić tylko określone pliki (np. Jeśli masz witrynę pobierania muzyki i chcesz śledzić tylko te pliki muzyczne), możesz dodać detektor zdarzeń "onclick" w swoich linkach pobierania które NIE wskazują na plik, zamiast tego uruchamia funkcję AJAX, która uruchomi skrypt po stronie serwera, na którym można zapisać informacje o pobieraniu (adres IP, znacznik czasu, strona odsyłająca, informacje o przeglądarce itp.. ):

Opcja 1: w pliku dziennika, jeśli chcesz uzyskać prostą reprezentację chronologiczną

Opcja 2: w bazie danych, jeśli chcesz śledzić liczniki pobrań w łatwiejszy sposób i w bardziej zoptymalizowanej strukturze, ponieważ nie powielisz danych na serwerze.

Po tej "części oszczędzania informacji" wyślij adres URL pliku, który użytkownik chce pobrać do przeglądarki, a następnie przeglądarka załaduje ten adres URL i użytkownik będzie mógł pobrać plik.

Korzystając z tej metody, możesz mieć pewność, że pobieranie zostało zarejestrowane przed pobraniem pliku przez użytkownika. To lepsze rozwiązanie niż wysyłanie żądania AJAX jednocześnie, gdy kliknie się użytkownik.


Jedyną wadą tego jest: fakt, że jest to rozwiązanie "najwyższej warstwy", jeśli użytkownik zna adres URL pliku i pisze go bezpośrednio na pasku adresu, obejmie pobieranie licznik. Tak się nie stanie w systemie plików dziennika opartym bezpośrednio na serwerze internetowym (Apache lub inne).