Как создать простое и безопасное приложение для опросов? - PullRequest
5 голосов
/ 25 августа 2010

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

Мне нужно гарантировать одну вещь - вы отвечаете на вопросы один раз.Поэтому, как только ваш компьютер получит некоторые данные, я должен признать, что ваш ПК уже ответил на опрос.

Есть предложения о том, как лучше всего справиться с этим?

Спасибо -mac

Ответы [ 2 ]

5 голосов
/ 25 августа 2010

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

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

(Чтобы узнать, как создать хеш в Java, см. Как создать хеш MD5? )

3 голосов
/ 25 августа 2010

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

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

Одностороннее хеширование IP-адреса - это способ предотвратить отслеживание вашего IP-адреса, но один и тот же IP-адрес всегда хеширует одно и то же значение, поэтому вы можете сказать, делает ли это кто-либо. Однако, если они идут в альт интернет-кафе, они могут повторно представить. Для этого вы бы использовали SHA1, MD5 и т. Д.

Вы можете сделать то же самое с адресом электронной почты и хэшировать его. Чтобы люди захотели принять участие, отправляйте результаты на свой адрес электронной почты вместо отображения в браузере. Люди просто должны верить, что вы не будете делать неприятные вещи со своей электронной почтой.

Другие идеи могут быть, если вы знаете, кому вы хотите отправить опрос. Генерация случайного числа, которое идентифицирует индивидуальный ответ. Затем отправьте эти ссылки по электронной почте. Затем они будут отправлены под этим номером, и вы не будете отслеживать электронную почту -> случайное число, тогда вы не сможете соотнести ответы с адресом электронной почты. Как только случайное число используется, когда вы не позволяете им отправить его снова. Отслеживайте ответы один раз. Показать результаты много раз.

Вы можете объединить некоторые из них вместе, чтобы попытаться обойти недостатки другого.

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