2010-05-12 34 views
8

Tôi đang tìm ý tưởng về cách tôi có thể dừng các tập lệnh bên ngoài kết nối với trang web của mình. Tôi đang tìm kiếm cùng một loại ý tưởng đằng sau Google. Như trong trường hợp một lượng yêu cầu nhất định được thực hiện trong một khoảng thời gian nhất định thì hãy chặn địa chỉ IP hoặc thứ gì đó. Tôi nghĩ có lẽ một giải pháp htaccess nếu không, tôi sẽ viết một PHP..htaccess hoặc mã bảo vệ PHP chống lại nhiều yêu cầu nhanh chóng

Bất kỳ ý tưởng hoặc liên kết nào đến các phương pháp hoặc tập lệnh hiện có được đánh giá cao.

Trả lời

2

PHPIDS có thể là những gì bạn muốn. "Hiện tại, PHPIDS phát hiện tất cả các loại XSS, SQL Injection, tiêu đề tiêm, thư mục traversal, RFE/LFI, DoS và LDAP tấn công."

Từ FAQ:

require_once 'IDS/Init.php'; 
    $request = array(
     'REQUEST' => $_REQUEST, 
     'GET' => $_GET, 
     'POST' => $_POST, 
     'COOKIE' => $_COOKIE 
); 
    $init = IDS_Init::init('IDS/Config/Config.ini'); 
    $ids = new IDS_Monitor($request, $init); 
    $result = $ids->run(); 

    if (!$result->isEmpty()) { 
    // Take a look at the result object 
    echo $result; 
    } 
+0

người đàn ông tốt! cảm ơn bạn –

1

Bạn có thể thử với mod_evasive cho Apache

1

Câu hỏi của bạn hơi mơ hồ - bạn đang muốn ngăn chặn các kết nối hoàn toàn thông qua Apache hoặc bạn đang muốn chặn người dân từ đăng dữ liệu (như Google làm để ngăn chặn tiêm cross-site vào tìm kiếm của họ)?

Nếu bạn muốn ngăn chặn các kết nối, tôi sẽ tìm kiếm một mô-đun Apache có thể điều chỉnh các yêu cầu. Nếu bạn chỉ đơn giản là muốn bảo vệ hình thức như Google thì bạn nên xem xét các mã thông báo tạo biểu mẫu.

Khi tôi tạo biểu mẫu, tôi thường tạo ra giá trị đầu vào bị ẩn chứa mã thông báo cũng được lưu trong phiên của người dùng và biểu mẫu sẽ từ chối xử lý trừ khi cả hai mã hiện diện và khớp, khiến mọi người khó gửi dữ liệu từ một trang web từ xa.

Các vấn đề liên quan