Cách chặn các địa chỉ IP một quốc gia truy cập website

Discussion in 'Hỏi Đáp Kỹ Thuật' started by Nguyen Son, Mar 3, 2021.

  1. Nguyen Son

    Nguyen Son Sơ Nhập Giang Hồ

    Hi các anh,
    Các anh chia sẻ giúp em phương thức đơn giản để chặn các truy cập từ người dùng ở 1 quốc gia (ví dụ là Việt Nam) với ạ.
    Em tìm hiểu ban đầu định chặn bằng cloudflare free nhưng nó có thông báo là block, như vậy người dùng có hiểu biết vẫn có thể đổi sang location khác để vào.
    Em muốn chặn mà thông báo kiểu site not found 404 chẳng hạn (chỉ bản trả phí của cloudflare) mà tìm mấy cách mà chưa ăn thua.
    Các bác hỗ trợ tư vấn giúp em với ạ, em cám ơn!
     
  2. Hoa Mãn Lâu

    Hoa Mãn Lâu Trưởng Môn

    Nếu dùng linux có thể dùng iptable để chặn theo dãy ip, khá ổn đó. Hoặc wp có plugin hỗ trợ vụ nầy mà
     
  3. Dang

    Dang Bang Chúng

    Mình chặn bằng mod_rewrite không được, nhưng đoạn PHP bên dưới thì chạy ngon lành :
    PHP:
    <?php

    if (isset($_SERVER['HTTP_CF_IPCOUNTRY']) && $_SERVER['HTTP_CF_IPCOUNTRY'] == 'VN'// nếu nhiều giá trị thì dùng : in_array($_SERVER['HTTP_CF_IPCOUNTRY'], array('VN', 'CN'))
    {
        
    header(sprintf('%s 404 Not Found'$_SERVER['SERVER_PROTOCOL']));
        exit();
    }

    ?>
     
  4. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Nếu e ko thích CF thì phải check được ip của client và ip đó thuộc quốc gia nào. Check được rồi thì e dùng nginx hoặc php để chặn.
     
  5. Nguyen Son

    Nguyen Son Sơ Nhập Giang Hồ

    Em cám ơn ạ.
    Em có dùng VPS linux, nhưng site em cần chặn thì chỉ là HTML thôi, mà trên đó cũng còn nhiều site khác không cần chặn. Em đang test tử cách của bác @Dang xem sao ạ.
    @xmenvn2510 không phải em không thích nó mà cái thông báo của CF bản free thì như kiểu thông báo là site có tồn tại nhưng block :D