Я работаю на веб-сайте игрушек и я реализовал кнопку upvote, с OnClick атрибута, как это:Как создать идентификатор пользователя для веб-сайта?
Dajaxice.debater.upvote(
upvote_js,//Don't worry about this, it's just dealing with AJAX
{
'username' : 'bob',//bob is the user being upvoted by
}
)
Вы видите, проблема заключается в веб-страница использует имя пользователя непосредственно, это плохой дизайн, так как пользователь может легко открыть хром-консоль, изменить имена пользователей и подделать запрос, чтобы upvote сказал alice вместо bob. Я исследовал пару веб-сайтов и вижу, что они используют длинную строку, похожую на хэш, чтобы представлять пользователей. Мне интересно, как это обычно выполняется? В более общем виде, я ищу алгоритм, который:
- дает уникальный идентификатор для каждого пользователя
- Даже если этот идентификатор дается воздействию пользователя или какой-либо третьей стороне, они не будут иметь ни малейшего представления, какой пользователь этот идентификатор представляет собой без использования долгого времени или большого объема памяти для вычисления (изменение хэша).
Как реализован сервер? Вы используете рамки? – Aya
@Aya Я использую django – dorafmon
Вы используете встроенную систему аутентификации Django (https://docs.djangoproject.com/en/dev/topics/auth/)? – Aya