Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Sistema de login do usuário com banco de dados mySQL com Angular JS?


Você não deve fazer um login em uma página angular, pois todos os dados relacionados são tratados por javascript, que pode ser facilmente interrompido, depurado e analisado.

A melhor forma seria:
  1. Crie um index.php normal que apresente um formulário de login para o usuário.
  2. Ao enviar, verifique a validade com seu banco de dados.
  3. Se o usuário for válido, inicie uma sessão e header para a página real do aplicativo angular.
  4. A única maneira de verificar se esta é uma php session válida está em seu REST chamadas via http angular service para seus scripts php relacionados ao banco de dados.
  5. Então, todo acesso de leitura/gravação à sua REST api deve verificar, se este usuário realmente tem permissão para fazer esta operação de banco de dados no script php.
  6. Se a verificação falhar, header de volta para a página de login ou algum "Peguei você!" página.

Dessa forma, o invasor pode ver o código js do aplicativo angular (se ele conseguir de alguma forma o endereço real), mas é completamente inútil para ele, porque ele nunca pode ver os dados reais, desde que não tenha iniciado uma php session válida . E os dados são o que você deseja proteger, não o script do aplicativo.

Em poucas palavras:Misture validação PHP padrão E Angular. Permita que os haxors cheguem à sua página, mas nunca mostre a eles nenhum dos seus dados subjacentes. Assim que alguém tentar mexer nos seus dados, expulse-o.

Esta é quase a mesma resposta que dei aqui

Pesquise as palavras-chave marcadas em sites PHP e Angular para entender a ideia por trás disso.