Pierwszą ochroną będzie stworzenie systemu logowania wszystkich akcji użytkowników i mechanizmu który będzie blokował konto użytkownika, gdy w jednym czasie będzie zalogowany z różnych IP (lub bardziej restrykcyjnie z różnych przeglądarek). Dodatkowo coś do monitorowania aktywności użytkowników biorąc pod uwagę częstość logowań, zmianę IP, przeglądarki itd. Oczywiście blokowanie nie byłoby ostateczne i byś musiał i tak wyjaśniać sprawę z użytkownikiem (chyba że w regulaminie będziesz miał odpowiednie klauzuly)
Tak naprawdę to nie są żadne zabezpieczenia, ale lepiej je w takim wypadku mieć niż nie mieć.
Do SMSów używałem tylko
http://promosms.pl do alertowania błędów aplikacji, więc ciężko mi powiedzieć jak u nich jest np. z czasem dostarczenia. Co więcej przy kodzie sms podczas logowania, musisz też zrobić limit ilości logowań w danym czasie (o ile jeszcze go nie masz), bo teoretycznie (jak się trafi ktoś złośliwy) takie rozwiązanie może Ci generować bardzo dużo smsów dziennie.
Prawda jest jednak taka, że i tak nie będziesz w stanie sprawdzić w 100% czy z konta użytkownika korzysta tylko 1 osoba.