Hiện tại tôi đã xây dựng một hệ thống kiểm tra IP, trình duyệt của người dùng và cookie chuỗi ngẫu nhiên để xác định xem người đó có phải là quản trị viên hay không.
Trong trường hợp xấu nhất, ai đó đánh cắp cookie của tôi, sử dụng cùng trình duyệt với tôi và che giấu IP của anh ta để xuất hiện như của tôi. Tôi có nên thêm một lớp bảo mật khác vào tập lệnh của mình để đảm bảo an toàn hơn không?
EDIT: Chỉ cần làm rõ: trang web của tôi hoàn toàn không chấp nhận thông tin đầu vào từ người dùng. Tôi chỉ đang thiết kế bảng quản trị phụ trợ để giúp việc cập nhật các mục cơ sở dữ liệu dễ dàng hơn.
Kiểm tra trình duyệt là một sự lãng phí hoàn toàn mã. viết một tầm thường Hệ thống bảo mật là vô nghĩa để những kẻ tấn công vượt qua. Nếu kẻ tấn công lấy ID phiên thông qua xss hoặc đánh hơi đường dây, chúng cũng sẽ có "tác nhân người dùng" của bạn.
Việc kiểm tra địa chỉ IP sẽ buộc kẻ tấn công phải "đi" phiên bằng XSS+XHR hoặc XSRF. Điều này là do mã thông báo bị chiếm đoạt sẽ không hoạt động trên hộp của anh ấy. Thật không may, điều này cũng có thể gây ra sự cố trên các mạng công ty sử dụng tính năng cân bằng tải gửi đi trên nhiều địa chỉ IP.
HTTPS 必须用于toàn bộ phiên họp. Mã thông báo của bạn không bao giờ được gửi qua HTTP. Đây là Top 10 OWASP năm 2010 Có hướng dẫn rõ ràng trong phần "Xác thực và quản lý phiên không hợp lệ". , một điều tuyệt đối phải đọc nếu bạn đang viết trình xử lý phiên.
ID phiên phải luôn hết thời gian chờ.Nếu không có thời gian chờ, đây được gọi là phiên bất tử, đây là một lỗ hổng được công nhận.
Ngoài ra, tôi lo lắng hơn về tính ngẫu nhiên của mã thông báo của bạn. Đảm bảo bạn học cách tạo đúng cách mật mã nonce .Đảm bảo trình tạo số ngẫu nhiên của bạn đủ mạnh và chứa thông tin mà kẻ tấn công không thể biết được.
Tôi cũng nghi ngờ rằng bạn chưa xem xét XSS và XSRF. Nếu bạn không kiểm tra các lỗ hổng lớn thì phiên của bạn ở các khu vực khác mạnh đến mức nào cũng không thành vấn đề. Đảm bảo sử dụng máy quét xss miễn phí Quét ứng dụng của bạn hoặc wapiti nguồn mở. Hãy nhớ rằng không có thử nghiệm nào có thể phát hiện chính xác XSRF và mọi yêu cầu trong ứng dụng của bạn đều dễ bị tấn công trừ khi bạn vá nó một cách cụ thể.
Tôi là một lập trình viên xuất sắc, rất giỏi!