как известно, MAC'и можно подставить софтом.
на сколько я понял, в определенную область сервака может войти только авторизированный пользователь, при чем несколько соединений на логин не разрешено?
по ip не выйдет, так как есть юзверя, которые сидят за nat'ом, и у нескольких юзверей будет один и тот же ip.
как вариант, писать при входе в лог и базу логин, время логина, ip, и определенный уникальный id сессии авторизации, допустим тот же session_id. при входе чела на сервак проверять нету ли его уже в таблице залогинившихся, если есть, то проверить айдишник сессии. если не совпадают - adjos pendejo, если же совпадают - добро пожаловать.
было бы неплохо еще отслеживать есть ли еще соединение для юзера и его ипа, если нет - убивать из базы запись.
или установить, что сессия работы длиться не больше минут 15. в начале страницы проинклудить файл с кодом, который будет чистить таблицу с авторизированным юзерами от записей, старее 15 минут.