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:
- Crie um index.php normal que apresente um formulário de login para o usuário.
- Ao enviar, verifique a validade com seu banco de dados.
- Se o usuário for válido, inicie uma sessão e
header
para a página real do aplicativo angular. - A única maneira de verificar se esta é uma
php session
válida está em seuREST
chamadas viahttp
angular service para seus scripts php relacionados ao banco de dados. - 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. - 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.