Skocz do zawartości
Shasta_McNasty

Java-POMOCY!

Rekomendowane odpowiedzi

Mam problemos a mianowicie:

 

Napisałem czata w Javie. Wszystko działa i ogólnie jest git

ALE... potrzebuję wrzucić tam blokowanie adresów IP.

 

Serwer pobiera adres IP od Klienta i w tym momencie powinien

sprawdzić czy tego adresu nie ma na liście banów.

Lista jest w pliku .txt (można by to załatwić jeszcze za pomocą tablicy

tylko, że wtedy nie ma za dużo możliwości żeby dodać jakieś nowe

adresy do listy).

 

Kto ma jakiś konkretny pomysł jak to załatwić

 

POMOCY !!!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Na jakiej zasadzie ma to działać? Spis ip ma być jednorazowo czytany podczas startu aplikacji czy sprawdzany za każdym razem gdy następuje połączenie?

 

W każdym razie robisz sobie metodę wczytującą z pliku listę banów do tablicy. Odpalasz ją albo przy starcie programu albo przy tworzeniu socketa serwerowego. A później bierzesz tylko

socket.getInetAddress()

i porównujesz.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No żeby wszystko było pięknie to powinien sprawdzać przy każdym połączeniu.

 

Czyli po tym wpisie:

 

public void run()

{

String str;

 

try

{

iStream = new BufferedReader(

new InputStreamReader( mySocket.getInputStream() ) );

oStream = new PrintStream( mySocket.getOutputStream() );

 

chatServer.logMessage( "Połączenie " + mySocket.getInetAddress() + " port " + mySocket.getPort() );

 

 

 

Mógłbyś napisać jak mogę się odwołać do takiego przykładowego pliku?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Z pliku czytasz sobie adresy do banowania (jako stringi w postaci kropkowo-dziesietnej)

http://java.sun.com/j2se/1.4.2/docs/api/ja...va/io/File.html

http://java.sun.com/j2se/1.4.2/docs/api/ja...nputStream.html

Ladujesz to do Hashtable

http://java.sun.com/j2se/1.4.2/docs/api/ja.../Hashtable.html

i jak przyleci jakis adres sprawdzasz czy hashtable zawiera ten adres. (containsKey)

 

Zeby bylo trudniej plik do wczytania zrob sobie w xml i pobaw sie parsowaniem tego :wink:

 

JAkbys chcial sie odwolywac za kazdym razem do pliku to za kazdym razem musialbyc go przeszukiwac (lub parsowac) co jest porazka wydajnosciowa.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...