Tên Miền Miễn Phí Hỗ Trợ Full DNS Kiểm TRa VÀ Đăng Kí Ngay

Showing posts with label Mã Nguồn PHP. Show all posts
Showing posts with label Mã Nguồn PHP. Show all posts

Code tự động lock ip khi bị ddos attack

Code này mình tìm trên mạng và edit lại đôi chút. Hum nay post chia sẻ cho anh em. Có gì sai sót đừng chém em nhá

Trích dẫn

$n = 5; // Chặn ip nếu 5 lần nhanh và liên tiếp truy cập vào 1 URL
$ban = strpos($_SERVER['REQUEST_URI'], "vbshout.php")?0:1;
$in = "\n".$_SERVER['REMOTE_ADDR']." - ".$_SERVER['REQUEST_URI'];
$log = fopen('banip.log','a'); fwrite($log, $in); fclose($log);
$list = file('banip.log',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$last = count($list) - 1;
if($last >1000) { $in = "Deny from all"."\n";
$lock = fopen('.htaccess','a'); fwrite($lock, $in); fclose($lock); }
elseif($last > $n) { for($i = 1; $i < $n; $i++) if($list[$last - $i] != $list[$last]) $ban = 0;
} else { $ban = 0; }
if($ban) { $in = "Deny from ".$_SERVER['REMOTE_ADDR']."\n";
$lock = fopen('.htaccess','a'); fwrite($lock, $in); fclose($lock);}
?>


Các bạn save đoạn code trên lại thành banip.php. Sau đó up lên thư mục gốc của site.
Sau đó thêm dòng
include 'banip.php';


vào file global.php nếu xài 4rum.

Khi 1 ip gửi 1 request tới site của bạn. code sẽ tạo ra 1 file log ghi lại ip đó, và url mà ip đó truy cập.

Ví dụ : 113.22.70.69 - http://mydomain.com/4rum/index.php
nếu ip 113.22.70.69 truy cập nhanh và liên tiếp 5 lần vào cùng 1 url như trên thì code sẽ lock ip 113.22.70.69 bằng cách tạo ra 1 file htaccess và ghi lệnh deny from 113.22.70.69

Đoạn code tiếp theo

if($last >1000) { $in = "Deny from all"."\n";


Khi 1 ip truy cập vào site. code sẽ ghi ip đó vào 1 dòng
Sau đó sẽ đếm tổng số dòng trong file log. nếu lớn hơn 1000 dòng trong 1 thời gian nhất định (Dấu hiệu bị tấn công bonet) thì sẽ ghi vào file htaccess lệnh deny from all
Các bạn có thể lập lịch xoá file htaccess và file log theo 1 thời gian quy định bằng cron job trong cpanel của host

Trích dẫn
if(file_exists('.htaccess')) unlink('.htaccess');
if(file_exists('banip.log')) unlink('banip.log');
?>


Save đoạn code sau lại thành reset.php và up lên thư mục gốc. sau đó xài cron job để thực thi file reset.php theo 1 thời gian nhất định. Ví dụ 10 phút xoá file htaccess và file log 1 lần.

Code này chống ddos khá hiệu quả. nhưng với botnet thì thua vì khi có lệnh deny from all mặc dù apache sẽ ko kết nối đến cơ sở dữ liệu nhưng apache vẫn trả lời các request. . đó là trả về lỗi 403.
Khi apache phải trả lời hàng trăm ngàn reqest như thế các bạn biết điều gì sẽ xảy ra rùi đó
Theo Harry.vn
Xem Tiếp ...

Share code tivi online

 
Coi như là tivi online đó dog
Code có tất cả 53 kênh truyền hình bao gồm việt nam và 1 số kênh thế giới nữa tha hồ mà xem nhé
Các bạn có thể xem ảnh demo
Highslide JS

Các bạn tải về rồi giải nén ra muốn đổi tên thư mục thành gì cũng được rồi up lên host là chạy thôi
Tệp tin tải về
http://mega.1280.com/file/0L4IHIGJ/
Xem Tiếp ...

Code rút gọn URL có xếp hạng + mới

Giới thiệu : Đây là code rút gọn url , có xếp hạng LINK TRUY CẬP và LINK được khởi tạo mới  . Các chức năng chính
- Tạo url rút gọn dưới dạng : http://website.com/u/username ( có thể thay đổi trong code )
- Xếp hạng url rút gọn theo lượt truy cập
- Cập nhật danh sách url đăng kí mới
- Quản lý , sữa , xóa url .......

Demo :
http://thienthan.info/download/manguon/php/008-shorturl
Download :
http://thienthan.info/download/manguon/php/008-shorturl.zip
Xem Tiếp ...

[NOSQL]Code bộ đếm lượt truy cập

Xem Tiếp ...