0

Hướng dẫn sử dụng Jousp để kiểm tra 1 địa chỉ IP có nằm trong danh sách BlackList

Blacklist là gì?

Blacklist là danh sách IP hoặc domain bị đánh dấu là nguồn spam của các tổ chức thống kê các server gửi spam. Các tổ chức này là phi lợi nhuận, không chịu ảnh hưởng của cơ quan hay chính phủ nào. Họ dùng nhiều biện pháp để bắt IP spam:

  • Nhận thông tin từ các nhà cung cấp dịch vụ (ISP/HP)
  • Phản hồi từ người sử dụng khi nhận quá nhiều thư rác gửi tới
  • Giăng bẫy (spam traps) bằng cách sử dụng nhiều email ngẫu nhiên. Nếu bạn gửi mail vào địa chỉ này sẽ bị đánh dấu là spam

Các tổ chức này làm việc theo quy tắc riêng nên các nhà cung cấp dịch vụ không đánh giá cao. Một số tổ chức yêu cầu bạn trả phí để được gỡ bỏ, những tổ chức này không đáng tin cậy hoặc IP của bạn bị liệt vào quả nhiều lần trong thời gian ngắn. Đa số các trang sẽ tự động gỡ bỏ sau một thời gian khi nhận thấy máy chủ của bạn không còn spam. Hoặc nhận được yêu cầu gỡ bỏ của bạn.

Nguyên nhân bị Blacklist

  • Server của bạn bị dính mã độc
  • User nào đó chủ động spam mail (Email Marketing)
  • Source Code nào đó bị dính shell…

Việc sử dụng Proxy hoặc VPN hoặc SSH trên internet hiện nay là phổ biến, bài viết này mình sẽ giới thiệu cách để kiểm tra IP truy cập vào web or android application có phải là IP BlackList không?

  1. Trang web cung cấp dịch vụ để kiểm tra miễn phí

    http://whoer.net/en/checkwhois?host=1.55.242.181

    http://whoer.net/ => Của công ty chuyên bán VPN or Sock 😄

  2. Dùng thư việc Jsoup để parser HTML

    http://jsoup.org/

Sau đây là source code java để kiểm tra IP BlackList

package vn.ipcheck;

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class IPCheck {

    /** URL check (chú ý có giới hạn số lần kiểm tra trong 1 ngày) */
    private static final String BASE_URL = "http://whoer.net/en/checkwhois?host=";

    public static void main(String[] args) {

        // IP kiểm tra.
        String ipCheck = "1.55.242.188";

        try {
            System.out.println(bBlackList(ipCheck));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * Kiểm tra xem IP có bị blackList.</br>
     *
     * @param ipAddress
     * @return
     * @throws IOException
     */
    private static Boolean bBlackList(String ipAddress) throws IOException {

        Boolean bBlackList = false;

        // Lấy document từ URL
        Document doc = Jsoup.connect(BASE_URL.concat(ipAddress)).get();

        // Lấy tất cả thẻ <a>
        Elements as = doc.select("a");

        for (Element element : as) {
            String linkHref = element.attr("href");
            if (linkHref.contains("spamhaus")) {
                bBlackList = ("Yes".equalsIgnoreCase(element.text()));
                break;
            }
        }

        return bBlackList;
    }
}

Nếu kết quả trả về true thì IP sẽ nằm trong danh sách blacklist, nếu bạn đang cần đi quảng cáo hay xúc tiến quảng cáo thì bạn cần chú ý đến việc này. Việc chặn VPN or IP blacklist là quan trọng

Trên là hướng dẫn đánh giá 1 trong các yêú tố chất lượng địa chi IP, trong bài viết tới tôi sẽ giới thiệu tiếp về các tiêu chí đánh giá chất lượng của một địa chỉ IP.

Cám ơn các bạn đã đọc hy vọng bài viết giúp ích cho các bạn.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí