Một trong những truisms nhất thường được trích dẫn trong bảo mật máy tính là máy tính chỉ thực sự an toàn là một trong chôn trong bê tông, với sức mạnh tắt và cắt cáp mạng.
Xin lưu ý rằng cách tốt nhất để lưu trữ an toàn địa chỉ email? Không lưu trữ chúng ở tất cả!
tl; dr Bạn có cần địa chỉ email của họ hoặc cách gửi email không? Hoặc là tin tưởng ai đó sẽ làm tốt hơn bạn hoặc không sử dụng địa chỉ email.
Tại sao bạn cần lưu bản ghi địa chỉ email của khách hàng? Lý do duy nhất tôi đã chạy vào là:
- xác nhận tài khoản & xác thực
- giao dịch & Tiếp thị email
Chứng nhận & Xác thực
Cốt lõi của những gì chúng tôi muốn là hai bước xác thực: Một cái gì đó họ biết và một cái gì đó họ có. Một cái gì đó họ biết là một mật khẩu, và rất dễ dàng để chứng minh vì họ sẽ là người duy nhất biết điều đó. Một cái gì đó họ có là khó khăn hơn để chứng minh và theo truyền thống chúng tôi sử dụng một địa chỉ email vì nó rất dễ dàng để xác minh. Những ngày này mặc dù có những điều khác mà chúng tôi có thể sử dụng:
- điện thoại di động
- Một tài khoản với một trang web đáng tin cậy (Facebook, Google, Twitter)
xác minh điện thoại di động là đơn giản. Gửi cho họ một tin nhắn bằng cách sử dụng dịch vụ như twilio.com và yêu cầu họ nhắn tin lại mã xác nhận. Bây giờ chúng ta biết rằng điện thoại di động thuộc về khách hàng muốn đăng ký. Với OpenID, bạn có thể xác minh tài khoản hiện có với các trang web đáng tin cậy khác và quá trình xác nhận được xử lý bởi chúng.
Để khách hàng xác thực thì tất cả những gì họ cung cấp là số di động và mật khẩu của họ hoặc mã thông báo xác thực OpenID. Không yêu cầu địa chỉ email (nhà cung cấp OpenID có thể nhưng đó không phải là trách nhiệm của bạn).
Nếu đây không phải là tùy chọn thì bạn vẫn có thể xác nhận địa chỉ email và sau đó sử dụng địa chỉ đó để xác thực. Xác nhận chỉ yêu cầu một mã thông báo duy nhất được lưu trữ và một liên kết được gửi đến địa chỉ email. Lưu trữ một băm muối của địa chỉ email, và sử dụng nó để phù hợp với tài khoản trong cùng một cách chúng tôi làm mật khẩu.
giao dịch & Tiếp thị Email
Lý do thực sự tại sao chúng tôi muốn để lưu trữ các địa chỉ email! Vì vậy, chúng tôi có thể gửi cho họ những đề nghị về nội dung mà chúng tôi cho là họ cần để họ có thể xóa nội dung đó mà không cần đọc. Nghiêm túc là email là phương tiện tốt nhất cho việc này? Nếu chúng tôi có một tài khoản OpenID thì tại sao không sử dụng nó cho các thông báo? Gửi tin nhắn Facebook hoặc viết lên tường của họ, @mention chúng trên Twitter, gửi tin nhắn văn bản tới điện thoại di động của họ, tạo ứng dụng và đẩy thông báo vào họ. Có rất nhiều kênh hiệu quả hơn email.
Nếu bạn muốn sử dụng email, hãy sử dụng nền tảng email như Mandrill và MailChimp. Khi họ đăng ký tạo một thuê bao trong một danh sách gửi thư trên MailChimp. Lưu trữ id người đăng ký bằng tài khoản. Đối với email giao dịch (đặt lại mật khẩu, cập nhật tài khoản), hãy tìm người đăng ký và chuyển email đã lưu đến Mandrill để gửi email. Đối với tiếp thị đại chúng chỉ cần gửi đến danh sách gửi thư trong MailChimp.
Điều duy nhất được lưu trữ trong cơ sở dữ liệu là id người đăng ký. Nó cũng cung cấp tất cả các lợi ích của việc sử dụng nền tảng email, hủy đăng ký, mở và nhấp qua tỷ lệ, theo dõi thương mại điện tử, vv. Nền tảng email sẽ làm tốt hơn việc phân phối email mà bạn. Họ cũng sẽ làm tốt hơn trong việc bảo vệ sự riêng tư của dữ liệu của họ hơn bạn. Hãy để họ thực hiện công việc khó khăn về bảo mật cơ sở dữ liệu để bạn có thể tập trung vào việc có được nhiều khách hàng hơn.
Tôi đã thấy cái này nhưng nó có vẻ khá hẹp. Tôi muốn nghe bất kỳ suy nghĩ nào liên quan đến bảo mật email. – User
Thỉnh thoảng máy chủ đột nhập chỉ cho phép kẻ tấn công tự xem nội dung cơ sở dữ liệu, tiết kiệm khóa và do đó bảo vệ dữ liệu. Nó sẽ là lố bịch, tuy nhiên, để dựa vào đó là trường hợp. – tylerl
Tôi sẽ phải đồng ý với những người khác trả lời câu hỏi này sau đó. Hầu hết các địa chỉ email được gửi thư rác đến thiên đường cao bất kể. Những người thường không có tính năng chặn spam tại chỗ và không có số lượng mã hóa sẽ lưu người dùng nếu mật khẩu của họ là "mật khẩu" và ai đó tìm thấy địa chỉ email của họ. Tôi sẽ làm theo lời khuyên của @ MaxVT và vệ sinh/xác nhận địa chỉ email. Sử dụng mã hóa toàn bộ cơ sở dữ liệu như @ zoomzoom83 được đề xuất cũng là một ý tưởng hay nếu bạn vẫn lo ngại về bảo mật. –