Nó phức tạp hơn thế nhiều. Trang web/dịch vụ của bạn sẽ được truy cập bởi nhiều người với các thiết lập khác nhau. Điều đầu tiên mà có thể đi sai là nếu ai đó đang đi qua một máy chủ proxy. IP mà ứng dụng của bạn sẽ thấy có thể thay đổi và phiên sẽ phá vỡ ngay cả đối với người dùng hợp lệ.
Nếu bạn hoàn toàn cần làm điều gì đó với IP, hầu hết những gì bạn có thể làm mà không nhận được quá nhiều xác thực sai là kiểm tra quốc gia/vùng có nguồn gốc. Nếu bạn phát hiện một thông tin đăng nhập từ Canada và một thông tin đăng nhập khác từ Ấn Độ, có thể có vấn đề. Thậm chí sau đó, nó không phải là bằng chứng ngu ngốc.
Tác nhân người dùng cũng quá dễ giả mạo: nếu tôi có thể nhận được PHPSESSIONID
của ai đó, thì tôi chắc chắn có thể nhận được Tác nhân người dùng của họ. Vì vậy, không có nhiều đã được thực hiện ở đây.
Cách tốt nhất để bảo vệ phiên của ai đó là đặt mọi thứ được xác thực sau HTTPS và đảm bảo rằng cookie phiên chỉ là HTTPS.
EDIT: Nếu nói đến điểm dữ liệu bạn bảo vệ sau phiên là cực kỳ nhạy cảm và người dùng của bạn cần biết điều đó, bạn luôn có thể hiển thị cho họ các phiên khác đã đăng nhập người dùng. Điều tương tự cũng được thực hiện bởi GMail chẳng hạn.
Nguồn
2012-05-29 18:04:37
Cảm ơn câu trả lời. Tôi không quá bận tâm về điểm đầu tiên phải trung thực, nhưng thứ hai của bạn là hợp lệ. Nếu tôi không thể tìm ra cách để ngăn chặn điều này, tôi sẽ chỉ sử dụng HTTPS. –
Cảm ơn! Nhân tiện, bất cứ lựa chọn nào bạn quyết định đi cùng, tôi luôn đề xuất thêm HTTPS lên hàng đầu. Sự gia tăng của các điểm truy cập Wi-Fi công cộng có nghĩa là mọi thứ không có HTTPS sẽ mở ra cho mọi người xem. –
Vì bạn chỉ muốn sử dụng http, tên người dùng và mật khẩu của người dùng của bạn đã có thể nhận được bởi tin tặc nếu người dùng không sử dụng vpn. Thậm chí không cần phải suy nghĩ cho phiên. –