Now is: Wed May 23, 2012 07:59:29 GMT +7
 
Trang chủ » Bảo Mật Website » Giải pháp chống flood cho site
Sponsored links

Giải pháp chống flood cho site

Lượt xem: 6477 lần
Tác giả: Chưa rõ
Đánh giá: 208 điểm / 66 lần
Xếp hạng:
Gởi ngày: 09 06, 2008
Bài viết mã số: 295
Tựa đề: Giải pháp chống flood cho site
Trong chủ đề: Bảo Mật Website
Thông tin thảo luận: 0
Trang in Gởi bạn bè
Mời bạn đánh giá bài viết này:
Nội dung Giải pháp chống flood cho site

Flood hiểu nôm na có nghĩa là tràn ngập - Khi bạn thiết kế một FORM để nhập dữ liệu, thì bất kỳ ai cũng áo thể view sources để xem cấu trúc HTML của FORM bạn thiết kế, vì vậy nếu site bạn không chống flood, hackers có thể dễ dàng flood site bạn, làm DB của bạn có thể bị tràn ngập và xuất hiện nhiều dữ liệu dư thừa.

Thông thường thì trong khi thiết kế một FORM bất kỳ thì phải thoả mãn cấu trúc như sau:


Đoạn code trên sử method="post" có nghĩa là phương pháp lấy dữ liệu là POST, ngoài nó ra bạn còn có thể dùng GET để lấy dữ liệu.

Có thể hiểu nếu method="GET" là dùng nhập dữ liệu ngay trên thanh địa chỉ, điều này cũng khó kiểm soát dữ liệu vì hackers có thể trực tiếp flood qua đường này nếu như không chống flood.

Còn nếu method="POST" thì bắt buộc phải được nhập qua 1 FORM nhất định, hiện tại hầu hết các site điều thiết lập method là POST vì dễ dàng kiểm tra dữ liệu và nhất là phòng chống SQL injection vì ít có hackers để ý đến các FORM lắm.

Có rất nhiều phương pháp để chống flood, tôi xin trình bày vài cách để bạn tham khảo: Sử dụng session, tạo 1 field trong table dùng trong việc lưu trữ IP của máy đang truy cập (Cách này hơi rắc rối nên tôi không trình bày ở đây).

Phương pháp chống flood bằng cách sử dụng SESSION:

1. Tạo FORM: Việc tạo một FORM để nhập dữ liệu không khó, nếu không biết tạo xin hỏi tại box khác vì box này chỉ dành tham khảo về bảo mật ứng dụng web thôi :)

2. Tạo 1 file PHP tên là anti_flood.php, với code sau:

 

view plainprint?
  1.  
  2.  
  3. session_start();
  4.  
  5. $timeout = 60;
  6. $session_name = "action_time";
  7.  
  8. if ( isset($_SESSION["{$session_name}"]) && ( $_SESSION["{$session_name}"] >= time() - $timeout ) )
  9. {
  10. print "Làm ơn đợi {$timeout} giây rồi quay lại kiếm tôi!!";
  11. return false;
  12. }
  13. $_SESSION["{$session_name}"] = time();
  14.  
  15. ?>

= time() - $timeout ) ) { print "Làm ơn đợi {$timeout} giây rồi quay lại kiếm tôi!!"; return false; } $_SESSION["{$session_name}"] = time(); ?>

Giải thích:
Dòng thứ 3 dùng session_start() để khởi động dữ liệu của session (Phiên làm việc).

Dòng kế tiếp là để thiết lập thời gian cho một session, mặc định là 60 giây.

Dòng tiếp theo là $session_name, đơn giản chỉ là đặt tên cho session.

Dòng tiếp theo nữa là để kiểm tra thời gian của phiên làm việc trước đó (nếu trước đó có một session đã thực hiện và session đó phải lớn hơn hoặc bằng thời gian hiện tại trừ cho thời gian thiết lập cho mổi session).

+ Điều đó có nghĩa là nếu session đã thực hiện trước đó (session thứ 1) chỉ cách session thứ 2 dưới 60 giây (đây là thời gian do bạn qui định: $timeout = 60) thì sẽ được xét vào dạng Flood data, và ngược lại thì sẽ cho qua và xác nhận hợp lệ.

Và dòng cuối cùng là thiết lập thời gian "hiện tại" cho session "hiện tại".

Có 2 cách để sử dụng đoạn code trên:
Cách 1: Load trực tiếp file anti_flood.php, áp dụng cho site có ít FORM cần chống flood.

 

view plainprint?
  1.  
  2.  
  3. require_once("anti_flood.php");
  4.  
  5. ?>



Cách 2: Là copy trực tiếp đoạn code của tôi rồi sửa lại tên session để dễ phân biệt cho site có nhiều FORM cần chống flood:

 

view plainprint?
  1.  
  2.  
  3. require_once("anti_flood.php");
  4.  
  5. ?>



Chúc bạn thành công!!!

lyhuuloi.

(Cung cấp bởi sanchoituoitre.vn)


Source Giải pháp chống flood cho site: ThongTinBaoMat.Com,Tác giả php.net.vn

Giải pháp chống flood cho site Tags
Bảo | mật | ứng dụng | Web | bảo mật | | tối ưu | băng thông | Mạng Riêng Ảo | VPN | Lợi Ích |

Những bài viết tương tự Giải pháp chống flood cho site:
Giải pháp bảo mật và phân tích môi trường NetBotz thế hệ mới | Chứng chỉ Internet giả mạo đe dọa người dùng Gmail | FireFox và Chrome cập nhật để ngăn chứng thư giả | 4 phần mềm diệt virus miễn phí tốt nhất cho Windows | Apache vá lỗ hổng DoS cho máy chủ web | Tin tặc chiếm đoạt hơn 200 chứng chỉ số SSL | Cách "chữa cháy" khi xóa nhầm khóa registry | Windows Update an toàn với các chứng chỉ SSL | Tội phạm ảo lợi dụng các site từ thiện trực tuyến | 4 mẹo ngăn chặn tấn công giả mạo

Những bài viết mới hơn trong Bảo Mật Website
Những bài viết cũ hơn trong Bảo Mật Website
Trang chủ | Giới thiệu | Quảng cáo | Quy định sử dụng | Liên hệ | Trợ giúp | RSS | Gởi bài | Tìm kiếm | Liên kết | Google Adsense | Sơ đồ

Copyright © 2008 ThongTinBaoMat.Com . All rights reserved. Powered by CpEnter Ltd.