Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Bảo mật cơ bản, PHP mySQl

Một vài điều ở đây:

  1. Bạn không thực sự mã hóa nó, bạn đang băm nó. Điều dễ dàng cho người mới nhầm lẫn, nhưng chỉ muốn giải quyết vấn đề đó một cách dễ dàng.

  2. Không sử dụng MD5, nó không phải là một hàm băm rất an toàn. Thay vào đó, hãy sử dụng một trong các biến thể SHA nếu có thể.

  3. Đừng chỉ băm mật khẩu, bạn cũng sẽ muốn "ướp muối" nó. Về cơ bản, điều này liên quan đến việc thêm một chuỗi ngẫu nhiên vào mật khẩu trước khi bạn băm nó và lưu trữ chuỗi ngẫu nhiên đó ở một nơi nào đó mà bạn có thể lấy nó sau này (để bạn có thể xác thực hàm băm khi người dùng nhập mật khẩu của họ). Điều này giúp ngăn chặn các cuộc tấn công từ điển được tính toán trước.

Đối với việc tạo mật khẩu, tôi nghĩ bạn đang đi đúng hướng - tôi sẽ chỉ tạo mật khẩu khi họ tạo tài khoản, gửi email cho họ, sau đó băm và lưu trữ băm (và một muối ngẫu nhiên) trên hồ sơ người dùng trong DB.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận dữ liệu chưa được công bố trong MySQL

  2. Cập nhật giá trị AUTO_INCREMENT của tất cả các bảng trong cơ sở dữ liệu MySQL

  3. Cách kết nối với cơ sở dữ liệu mysql trong phonegap

  4. Bảng cơ sở dữ liệu, càng nhiều càng tốt?

  5. cách tối ưu hóa truy vấn này (liên quan đến bảng 4 mm)