Niedawno zacząłem widzieć programy użytkownika, takie jak Java/1.6.0_14 (i odmiany) w mojej witrynieUżytkownik Java Agent
Co to oznacza. Jest to przeglądarka lub bot lub co
Niedawno zacząłem widzieć programy użytkownika, takie jak Java/1.6.0_14 (i odmiany) w mojej witrynieUżytkownik Java Agent
Co to oznacza. Jest to przeglądarka lub bot lub co
prawdopodobne Oznacza to ktoś indeksowania witryny za pomocą Java. Nie należy się tym przejmować, chyba że zauważysz, że robot używa dużej przepustowości lub nie respektuje pliku robots.txt. Zwykle uzasadnione roboty będzie trochę czasu, aby utworzyć niestandardowy agenta użytkownika, aby ułatwić kontakt z robota jeżeli masz wątpliwości, ale nawet jeśli używasz domyślnego agenta użytkownika, to jest więcej niż prawdopodobne, doskonale łagodne.
Jednak jeśli zauważysz skok w 404 trafieniach lub partie trafień z klienta Java, prawdopodobnie jesteś atakowany przez spamerów szukających luk w zabezpieczeniach na twojej stronie. Jeśli twoja strona jest zbudowana dobrze, niewiele może zrobić, poza spaleniem części twojej przepustowości, ale jeśli znajdzie lukę bezpieczeństwa, z pewnością ją wykorzysta. Radzenie sobie ze spamerów właściwie jest poza zakresem tej odpowiedzi, ale spękana ziemia rozwiązanie (która będzie działać jako krótkoterminowy poprawki co najmniej) będzie blokować wszystkie czynniki użytkowników, które zawierają ciąg „java”.
Oznacza to, witryna jest dostępna poprzez JVM na czyimś komputerze. Może to być robot indeksujący lub po prostu ktoś zbierający dane. Możesz replikować ciąg agenta użytkownika przy użyciu klasy HttpURLConnection. Oto przykład:
import java.net.*;
public class Request {
public static void main(String[] args) {
try {
URL url=new URL("http://google.ca");
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.connect();
System.out.println(con.getResponseCode());
} catch (Exception e) {
e.printStackTrace();
}
}
}
HttpURLConnection
klasa Javy wyśle informację o wersji JVM jako nagłówka User-Agent
.
nie może to blokować niektóre android tabletki i takie? Mam na myśli, może wersja Java jest w UA, ale niekoniecznie dlatego, że używają UrlConnection Java. –
Absolutnie, jest to rozwiązanie spalonej ziemi, ponieważ jest szybkie i skuteczne, ale będzie miało inne negatywne konsekwencje. Blokowanie wszystkich programów klienckich Java będzie blokować uprawnionych użytkowników, ale może szybko zablokować niektóre ataki. Powiedział, że nie sądzę, będzie to wpływać na większości platform Android, szybkie Google dla [Android Biura Obsługi] (http://www.gtrifonov.com/2011/04/15/google-android-user-agent-strings -2 /) nie zawierało żadnych elementów zawierających "java" w swoich ciągach - prawdopodobnie bardzo celowo, aby uniknąć pomylenia z robotem Java. – dimo414
Po prostu krótka uwaga: wyszukiwarka Google blokuje aplikacje klienckie java. "Twój klient nie ma uprawnień do pobierania adresu URL/wyszukiwania" - po prostu wypróbuj go za pomocą wtyczki agenta użytkownika i ustaw użytkownika na np. Java/1.8.0_45. Zasadniczo przyzwoita aplikacja Java powinna ustawić ciąg agenta użytkownika, aby odzwierciedlał nazwę/prupose aplikacji, więc "Java/wersja" najprawdopodobniej nie jest prawowitym użytkownikiem. –