Code chặn địa chỉ IP

Tác giả admin+, T.Ba 13, 2011, 02:00:23 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 3 Khách đang xem chủ đề.

Code chặn địa chỉ IP

Hôm nay mình sẽ giới thiệu với các bạn một đoạn Code đơn giản, dùng để chặn các địa IP phá hoại, mà mình không muốn cho truy cập đến Website.

Trước tiên tạo một tập tin đặt tên gì cũng được,  như  list.ip, . . .  hay tên gì đó tùy bạn. Tập tin mục đích dùng để chứa các địa IP mà mình muốn chặn lại.

Tiếp theo bạn sao chép đoạn mã dưới đây và lưu thành tập tin nào đó chẳng hạn như  blockip.php

Mã nguồn [Chọn]
<?php
define 
('BLACKLIST','list.ip');

$list=file(BLACKLIST);

foreach (
$list as $addr)  {
$addr=trim($addr);
$host_addr=$_SERVER['REMOTE_ADDR'];

// Simple IP
if ($host_addr==$addr)
die (
"Dia chi IP cua may la {$host_addr} va may nen bien di cho khac choi nhe. EDITED BY DCUONG\n");

// Classe C
else if (preg_match('/(\d+\.\d+\.\d+)\.0\/24/',$addr,$sub))  {
$subnet=trim($sub[1]);

if (
preg_match("/^{$subnet}/",$host_addr))
die (
"Dia chi IP cua may la {$host_addr} va may nen bien di cho khac choi nhe. EDITED BY DCUONG\n");
}

// Classe B
else if (preg_match('/(\d+\.\d+)\.0\.0\/16/',$addr,$sub))  {
$subnet=trim($sub[1]);

if (
preg_match("/^{$subnet}/",$host_addr))
die (
"Dia chi IP cua may la {$host_addr} va may nen bien di cho khac choi nhe. EDITED BY DCUONG\n");
}

// Classe A
else if (preg_match('/(\d+)\.0\.0\.0\/8/',$addr,$sub))  {
$subnet=trim($sub[1]);

if (
preg_match("/^{$subnet}/",$host_addr))
die (
"Dia chi IP cua may la {$host_addr} thong bao ly do bi cam\n");
}
}
?>


Sau khi đã có được hai tập tin list.ip, blockip.php, để thực hiện việc chặn này vào Website của mình thì các bạn chỉ cần thêm nó vào các tập tin của trang Web.

Mở  các tập tin trang Web và thêm vào phía trên cùng.

Mã nguồn [Chọn]
<?php include 'blockip.php'?>

Thêm các địa chỉ  IP mà bạn muốn chặn vào tập tin list.ip và bạn có thể chỉnh sửa nội dụng thông báo đến các địa chỉ IP bị chặn theo ý của bạn.