Использование куки в asp.net - PullRequest
2 голосов
/ 03 декабря 2011

У меня есть кнопки «Мне нравится / не нравится», и я помещаю их в панель обновления, чтобы иметь возможность обновлять счетчик без обновления страницы, проблема в том, что пользователь может несколько раз нажать кнопку «Нравится / Не нравится», и счетчик будет изменен

Я хочу разрешить пользователю нажимать кнопку, как только я думаю, что я могу использовать cookie, но я раньше не использовал его, поэтому, если кто-нибудь сможет мне помочь, я буду благодарен

также, если естьЛюбое другое решение, которое может быть лучше, пожалуйста, дайте мне знать

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 03 декабря 2011

Если вы хотите использовать куки, вы можете посмотреть на этой странице (более старая версия) или на этой странице (более новая версия).

Вы не описали, какой тип веб-сайта вы создаете, но если у вас есть механизм регистрации пользователя / входа в систему , вы можете просто сохранить информацию о том, что конкретный пользователь нажал кнопку подобно в вашей базе данных.

Если вход в систему неприемлем, вы можете попытаться идентифицировать своих пользователей с помощьюих IP-адреса, как предложено Адам .Вы можете сделать это, используя:

String remoteAddress = HttpContext.Current.Request.UserHostAddress;

или

String remoteAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

В любом случае, я думаю, что было бы лучше использовать куки в сочетании с другим методом, потому что вы можете сначала проверить куки,Если он существует на компьютере пользователя, вы знаете, что он / она уже проголосовал.Если файл cookie отсутствует, вы можете запросить в базе данных сохраненную информацию о пользователе (определяется по IP или механизму входа в систему).Таким образом, вы можете делать меньше запросов к базе данных, что должно быть хорошо для производительности вашего приложения:).

1 голос
/ 03 декабря 2011

Вместо использования файлов cookie вы можете отслеживать по IP-адресу.

Я знаю, что IP-адреса могут со временем меняться, поэтому вы можете использовать это с cookie-файлами, но cookie-файлы также могут быть удалены, поэтому ничто не будет 100%.

Когда пользователь нажимает «нравится» или «не нравится», сохраняйте его IP-адрес вместе с записью «Нравится».

Поместите код, чтобы остановить подсчет другого лайка или нелюбви, если они уже это сделали.

Затем в вашем обновлении удалите кнопку «Нравится» или «Не нравится» и просто покажите счет.

Это то, что я использую для своего приложения. У меня также есть приложение Facebook, в котором я использую их идентификатор пользователя Facebook, который намного сложнее подделать.

В любом случае, я думаю, что IP-адрес - лучший способ обнаружить и помешать кому-либо сделать это дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...