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

Hệ thống đăng nhập người dùng với cơ sở dữ liệu mySQL với Angular JS?

Bạn không nên đăng nhập trên một trang góc cạnh vì mọi thứ liên quan đến dữ liệu đều được xử lý bằng javascript, có thể dễ dàng bị dừng, gỡ lỗi và phân tích.

Cách tốt hơn sẽ là:

  1. Tạo một index.php bình thường để hiển thị biểu mẫu đăng nhập cho người dùng.
  2. Khi gửi, hãy kiểm tra tính hợp lệ với cơ sở dữ liệu của bạn.
  3. Nếu người dùng hợp lệ, hãy bắt đầu một phiên và header vào trang ứng dụng góc cạnh thực tế.
  4. Cách duy nhất để kiểm tra xem đây có phải là php session hợp lệ hay không nằm trong REST của bạn cuộc gọi qua góc http dịch vụ cho các tập lệnh php liên quan đến cơ sở dữ liệu của bạn.
  5. Vì vậy, mọi quyền truy cập đọc / ghi vào REST api của bạn nên kiểm tra xem người dùng này có thực sự được phép thực hiện thao tác db này trong tập lệnh php hay không.
  6. Nếu kiểm tra không thành công, header quay lại trang đăng nhập hoặc một số "OK!" trang.

Bằng cách này, kẻ tấn công có thể nhìn thấy mã js của ứng dụng góc cạnh (nếu bằng cách nào đó anh ta nắm được địa chỉ thực) nhưng nó hoàn toàn vô dụng đối với anh ta, vì anh ta không bao giờ có thể xem dữ liệu thực tế miễn là anh ta chưa khởi động một php session hợp lệ . Và dữ liệu là thứ bạn muốn bảo vệ, không phải tập lệnh của ứng dụng.

Tóm lại:Kết hợp xác thực PHP chuẩn VÀ Angular. Cho phép người dùng truy cập trang của bạn, nhưng không bao giờ được hiển thị cho họ bất kỳ dữ liệu cơ bản nào của bạn. Ngay khi ai đó cố gắng làm xáo trộn dữ liệu của bạn, hãy đuổi anh ta ra ngoài.

Đây gần giống câu trả lời mà tôi đã đưa ra tại đây

Tìm kiếm các từ khóa được đánh dấu trong cả trang web PHP và Angular để nắm bắt ý tưởng đằng sau điều này.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LỆNH SQL THEO nhiều cột

  2. SQLSTATE [42000]:Lỗi cú pháp hoặc vi phạm quyền truy cập:1064

  3. Lỗi cắt ngắn dữ liệu MySQL

  4. Hệ thống phân cấp nhiều-nhiều với nhiều cha mẹ - PHP, MySQL

  5. Hệ thống nhắn tin với PHP / MySQL