you could always have some sort of loginSuccess function...so if user A logs in then in table login his A and his login IP are recorded...
then when person B tries to log in as "A" it can check to see if A is already on and if he is on what ip. it can then display an error message of "A is already logged in from $aIpAddress....
and to prevent 'more than one account from one user':
not fool proof...but you can just make it so one ip per account and have a loginCheck function for that...and they are on dialup, i'm not sure if it is worth the trouble to try to write some sort of loop that could filter what could be perceived as a 'double account'...email verification could help prevent alot of the problems here.