Nie powinieneś logować się na stronie kątowej, ponieważ wszystkie powiązane dane są obsługiwane przez javascript, który można łatwo zatrzymać, debugować i analizować.
Lepszym sposobem byłoby:
- Utwórz normalny index.php, który przedstawia użytkownikowi formularz logowania.
- Po przesłaniu sprawdź poprawność w bazie danych.
- Jeśli użytkownik jest prawidłowy, rozpocznij sesję i
header
na rzeczywistej stronie aplikacji Angular. - Jedynym sposobem sprawdzenia, czy jest to prawidłowa
php session
jest w TwoimREST api
połączenia przez kątowehttp
obsługa skryptów php związanych z bazą danych. - Więc każdy dostęp odczytu/zapisu do Twojego interfejsu
REST api
powinien sprawdzić, czy ten użytkownik naprawdę może wykonać tę operację bazy danych w skrypcie php. - Jeśli sprawdzenie się nie powiedzie,
header
powrót do strony logowania lub jakieś "Mam cię!" strona.
W ten sposób atakujący może zobaczyć kod js aplikacji Angular (jeśli w jakiś sposób zdobędzie rzeczywisty adres), ale jest to dla niego całkowicie bezużyteczne, ponieważ nigdy nie może zobaczyć rzeczywistych danych, dopóki nie zaczął poprawna php session
. A dane są tym, co chcesz chronić, a nie skrypt aplikacji.
W skrócie:Połącz standardową walidację PHP ORAZ Angular. Zezwalaj hackorom na dostęp do Twojej strony, ale nigdy, przenigdy nie pokazuj im żadnych danych bazowych. Jak tylko ktoś spróbuje zepsuć Twoje dane, wyrzuć go.
To prawie ta sama odpowiedź, której udzieliłem tutaj
Wyszukaj zaznaczone słowa kluczowe w witrynach PHP i Angular, aby zrozumieć kryjącą się za tym ideę.