Вам необходимо установить переменную javascript в своем коде где-нибудь, которая говорит, вошел ли пользователь в систему или нет. Это может быть из сеансов бэкэнда или из файла cookie браузера, который вы установили.Вы определенно не хотите, чтобы это было единственной мерой против голосования, если они не вошли в систему.Проверьте это и на сервере.
Если вы хотите использовать сеансы, вы можете сделать что-то вроде этого:
<script type="text/javascript">
var userLoggedIn = <?php =$_SESSION['logged_in']; ?>
</script>
$_SESSION['logged_in']
должно быть установлено либо true
или false
.Затем вы просто проверяете эту переменную (userLoggedIn
) каждый раз, когда пользователь хочет выполнить действие.Также проверьте это на стороне сервера, как я сказал выше.
SO, кажется, использует этот метод.Если вы посмотрите в коде, есть строка var isRegistered = true
, что означает, что я в данный момент вошел в систему.
Другой способ сделать это - удалить все функции голосования, если они не вошли в систему, идобавь это когда они есть.Это сэкономит время загрузки для тех, кто не вошел в систему.