Przy rejestracji musisz (może nie musisz, ale powinieneś) zabezpieczyć skrypt przed wstrzykiwaniem np.: SQL'a oraz przy logowaniu też powinieneś się przed tym zabezpieczyć.
W skrócie:
JavaScript Injection
SQL Injection
SQL file Injection
Google include hack
XSS (Cross Site Scripting) https://4programmers.net/PHP/Ochrona_przed_XSS_-_podstawy
https://www.dobreprogramy.pl/tfl/Parowa-Najprostsze-ataki-na-webaplikacje,25589.html
Przed tymi najbardziej popularnymi atakami powienieneś zabezpieczyć stronę. I jeszcze mógłbyś poszukiwać informacji o bardziej niestandardowych atakach na aplikacje czy strony jak np. tak: DOS, czy DDOS i jeszcze innych.
Tak jak przedmówca wspomniał: binduj parametry, nie używaj przestarzałych funkcji tylko tych najnowszych sprawdzonych i najlepszych funkcji powinieneś użyć. Na pewno nie powienieneś używać zdeprecjonowanych funkcji, czy też usuniętych wraz z wejściem PHP 7. Czyli na pewno odpada wszystko co zaczyna się od mysql... Zamiast tego użyj PDO lub MySQLI.
Zapisuj w bazie hasła mocnymi funkcjami szyfrującymi+solą. Jeśli nie zabezpieczysz się np. przed atakiem SQL, to ktoś może ci wpisać jakieś zapytanie do bazy, nacisnąć "submit" i wyśle ci dane z formularza do bazy, a w odpowiedzi zobaczy, wyniki zwrócone z bazy, np. hasła z bazy czy właśnie emaile użytkowników, czy nawet loginy itp.
Tę linię:
$sql = 'SELECT * FROM employees WHERE eMail= :email';
Chyba lepiej zamienić na taką:
$sql = 'SELECT email FROM employees WHERE eMail= :email';
Ale do końca pewien nie jestem.
https://weblogs.asp.net/jongalloway/the-real-reason-select-queries-are-bad-index-coverage
https://stackoverflow.com/questions/65512/which-is-faster-best-select-or-select-column1-colum2-column3-etc
https://stackoverflow.com/questions/3180375/select-vs-select-column