Như nhiều người ở đây đã tuyên bố, không tin tưởng vào đầu vào của người dùng - bao giờ hết. Bằng cách làm vệ sinh đầu vào của bạn, đặc biệt là tên người dùng & các trường mật khẩu bạn giúp ngăn chặn các cuộc tấn công SQL Injection.
Đối với tất cả những điều tốt là & thánh không lưu trữ tên người dùng hoặc mật khẩu trong cookie, chúng được gửi lại & cho máy chủ theo mọi yêu cầu và bất kỳ ai xem luồng có thể lấy dữ liệu đó ... gặp rắc rối lớn.
Dưới đây là một vài bài viết bạn nên đọc trên phiên, bảo mật và băm - chỉ cần băm mật khẩu của bạn để SHA1 hoặc MD5 là không đủ, muối chúng để chúng thậm chí còn mạnh mẽ hơn. Không có thứ gì như an ninh không thể xuyên thủng - ngay cả khi bạn làm mọi thứ đúng, ai đó có thể phá vỡ nó - điều đó là không thể tránh khỏi. Công việc của bạn là làm cho mọi thứ trở nên khó khăn để phá vỡ/khai thác càng tốt.
Càng có nhiều công việc liên quan đến việc đột nhập vào trang web của bạn, nội dung của bạn càng đáng để có giá trị nỗ lực. Công việc của bạn là ngăn cản người dùng độc hại.
Bài viết này có một số thông tin tốt về việc tạo ra dấu vân tay độc đáo cho khách truy cập, giúp để làm cho phiên tặc khó khăn hơn - PHP Security Guide: Sessions
giao dịch Bài viết này với mật khẩu cơ bản băm & kỹ thuật ướp muối - Password Hashing
này là do không có nghĩa là kết thúc tất cả & là tất cả - bạn có thể tạo sự nghiệp làm bảo mật và tương tự, nhưng chúng là điểm khởi đầu tốt. Một người nào đó ở đây có thể có thể trỏ đến các bài viết tốt hơn/nâng cao hơn, nhưng cá nhân tôi thấy những điều này hữu ích trong việc lưu trữ mã của tôi.
Nguồn
2009-08-30 17:45:49
Điều này có nghĩa rằng tôi nên kiểm tra người dùng đăng nhập và mật khẩu trên mỗi trang nạp? Và cách tốt nhất để giữ cho cơ sở dữ liệu mật khẩu và phương thức mã hóa an toàn như thế nào? –
@Grue không chỉ khi họ đăng nhập mà bạn cần một chính sách mất hiệu lực hợp lý. Các địa chỉ IP khác nhau, khoảng thời gian, thời gian không hoạt động, v.v. Dù có ý nghĩa gì đối với những gì bạn đang bảo vệ (ví dụ: một trang web ngân hàng có những cân nhắc bảo mật khác nhau, bạn chỉ để lại nhận xét về video). – cletus
Một số nội dung khá lỗi thời trong câu trả lời này. Không sử dụng SHA1 hoặc MD5 cho mật khẩu: http://stackoverflow.com/questions/1581610/how-can-i-store-my-users-passwords-safely –