Tags:

Cách kiểm tra một IP có phải là BOT hay không trong Java

Địa chỉ IP là một định danh số duy nhất được gán cho mỗi thiết bị kết nối mạng sử dụng Giao thức Internet để liên lạc; nói một cách đơn giản, điều này bao gồm hầu hết các thiết bị chúng ta sử dụng ngày nay (tức là máy tính xách tay, điện thoại thông minh, máy tính bảng, v.v.). Đối với các trang web doanh nghiệp, việc xác minh địa chỉ IP của người dùng có thể cung cấp thông tin chi tiết có giá trị về nhân khẩu học dành riêng cho khách hàng, cho phép họ nhắm mục tiêu nội dung của mình một cách hiệu quả.

Tuy nhiên, không phải tất cả các địa chỉ IP đều hợp lệ – một số có thể là bot, mạng botnet hoặc thực thể không phải là người dùng khác có thể làm lệch dữ liệu của bạn hoặc có khả năng gây hại cho doanh nghiệp hoặc khách hàng của bạn. Bài viết này sẽ khám phá một giải pháp miễn phí có thể kiểm tra xem một địa chỉ IP có phải là bot trong Java hay không bằng cách tận dụng các tín hiệu thời gian thực chống lại các bot có xác suất cao đã biết. Mặc dù có một số bot hữu ích, chẳng hạn như chatbots và bot công cụ tìm kiếm, chúng ta muốn đảm bảo rằng không có bot “xấu” nào ẩn nấp trong một địa chỉ IP có thể gây ra mối đe dọa.

Trước tiên chúng ta cần phải truy cập vào trang web Cloudmersive API, đăng ký cho mình một tài khoản. Việc đăng ký rất nhanh bằng phương thức đăng ký với tài khoản google. Với tài khoản miễn phí, chúng ta có 800 lần request đến API của nó trong một tháng, và điều đó dư sức để chúng ta có thể tạo một ứng dụng đơn giản kiểm tra IP Bot.

Sau khi đăng lý tài khoản xong, các bạn vào mục API Key để tạo một key miễn phí cho mình.

Để sử dụng API Cloudmersive này, trước tiên bạn cần cài đặt SDK bằng Maven bằng cách thêm jitpack vào kho lưu trữ trong pom.xml:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

Tiếp theo thêm Cloudmersive dependency

<dependencies>
    <dependency>
        <groupId>com.github.Cloudmersive</groupId>
        <artifactId>Cloudmersive.APIClient.Java</artifactId>
        <version>v3.54</version>
    </dependency>
</dependencies>

Trước khi tiếp tục, chúng tôi cần xác minh rằng chúng tôi có các thông tin sau để đảm bảo API của chúng tôi hoạt động chính xác:

  • Địa chỉ IP – đầu vào là một chuỗi, vì vậy hãy đảm bảo đặt nó trong dấu ngoặc kép
  • API Key – lây từ web đã được hướng dẫn như trên.

Bây giờ chúng ta sẽ triển khai mã code Java giúp kiểm tra IP có phải IP Bot hay không thông qua chương trình sau

/ Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.IpAddressApi;
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");
IpAddressApi apiInstance = new IpAddressApi();
String value = "value_example"; // String | IP address to check, e.g. \"55.55.55.55\".  The input is a string so be sure to enclose it in double-quotes.
try {
    BotCheckResponse result = apiInstance.iPAddressIsBot(value);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling IpAddressApi#iPAddressIsBot");
    e.printStackTrace();
}

Nguồn tham khảo

https://dzone.com/articles/how-to-check-if-an-ip-address-is-a-bot-in-java

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x