2011-09-16 22 views
7

Tôi có một hệ thống ghi nhật ký thông tin và đôi khi tìm thấy một địa chỉ IP cụ thể làm điều gì đó khó chịu, như cố gắng khai thác phpMyAdmin (mặc dù nó thậm chí không được cài đặt trên hệ thống).Tình trạng HTTP thích hợp để quay trở lại cho các nỗ lực hack

Khi tôi tìm thấy những người phạm tội, tôi thêm địa chỉ IP vào danh sách chặn trả về một thông báo nhỏ cho dù trang có tồn tại hay không và đăng nhập địa chỉ IP và chuỗi truy vấn của họ để tôi có thể theo dõi chúng.

Vấn đề là, hầu hết trong số đó có vẻ là tập lệnh quét và tôi vẫn đang trả về mã trạng thái HTTP là 200 với thông báo nhỏ. Tôi muốn tiến xa hơn với mã trạng thái, nhưng tôi không chắc cái nào là tốt nhất.

Tôi đã tìm thấy danh sách here và có vẻ như là 401 hoặc 403 áp dụng tốt nhất. Đó là mã tốt nhất để "cấm" một địa chỉ IP?

+1

Tốt nhất là chỉ nên ngắt kết nối hoàn toàn, tốt nhất là ở tường lửa, thay vì trả lời HTTP. – geoffspear

+0

đây không phải là tài liệu stackoverflow. Sẽ phù hợp hơn trên serverfault. – unixman83

+4

chuyển hướng chúng đến 'fbi.gov' – Michelle

Trả lời

8

403 hoặc 404 phù hợp nhất. Xem tài liệu tham khảo cho 403:

"(...) Nếu phương thức yêu cầu không phải là HEAD và máy chủ muốn công khai tại sao yêu cầu không được đáp ứng, nó NÊN mô tả lý do từ chối trong thực thể Nếu máy chủ không muốn cung cấp thông tin này cho khách hàng, có thể sử dụng mã trạng thái 404 (Không tìm thấy). "

Nguồn: https://tools.ietf.org/html/rfc2616#section-10.4.4

Ví dụ, bạn có thể trả lại trạng thái 403 - Forbidden và mô tả các lý do trong cơ thể phản ứng. Tôi không chắc liệu nó có được phép trả lại mã trạng thái như 403 - Banned for ... hay không. Trong bất kỳ trường hợp nào, người dùng vô tội có lẽ đặc biệt quan tâm đến lý do cho 403.

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