JQuery Ajax Голосование - PullRequest
2 голосов
/ 14 мая 2009

Я использую это Руководство по системе JQuery Ajax Voting в качестве приблизительного примера, но меня это немного беспокоит. Прямо сейчас это руководство в основном хранит идентификатор чего-либо и статистику голосования за него.

Я бы хотел отказаться от аналогичной идеи, но мне нужно также указать идентификатор пользователя, чтобы пользователь мог голосовать только один раз. Это хранится в переменной сеанса PHP, и мне было интересно, будет ли у вызываемой страницы ajax доступ к этому сеансу или нет. Если нет, то каков безопасный способ передачи параметра, чтобы он не мог быть захвачен человеком в середине атаки или фальсифицирован.

Ответы [ 2 ]

3 голосов
/ 14 мая 2009

Сервер будет иметь доступ к данным сеанса через вызов AJAX, если вы делаете session_start(); в верхней части вашего скрипта. Вы также должны убедиться, что вы дезинфицируете свои данные, поскольку я вижу, что учебник выполняет запросы, не пропуская данные через mysql_real_escape_string. Вы также должны сделать UNIQUE KEY(user_id, id) в таблице голосов, чтобы убедиться, что не было ни одной ошибки.

1 голос
/ 14 мая 2009

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

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

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