Как безопасно ссылаться на страницы обработки данных в PHP - PullRequest
0 голосов
/ 22 января 2010

Позвольте мне объяснить название: Взять в качестве примера ссылку «пометить как неприемлемую» на любом видео на YouTube. По сути, это ссылка на страницу, которая обрабатывает запрос (например, тот, кто щелкнул по нему вошедшим в систему пользователем, какой идентификатор видео помечен и т. Д.). Если все идет хорошо, видео помечается и пользователю дается правильный вывод.

Мой вопрос: что мешает пользователю получить доступ к этому файлу обработки с URL-адреса и автоматически пометить, скажем, все видео на YouTube? Вы не можете создать сеанс с php, если пользователь нажимает на ссылку и не хочет привлекать JS, я ищу хорошее решение только для php, чтобы обрабатывать ТОЛЬКО данные, если кто-то попал на страницу процесса через право стр.

Можете ли вы предложить способ сделать это, возможно, передав другую переменную GET. Вы можете использовать пример с YouTube, если хотите.

спасибо

1 Ответ

1 голос
/ 22 января 2010

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

На странице получения вы можете убедиться, что у них есть сеанс и они вошли в систему, а также, расшифровывают ли они переменную GET. Убедитесь, что дата и время действительны (скажем, последние 10 минут), а идентификатор совпадает с основным, отправленным в незашифрованном виде.

Вы не хотите отправлять идентификатор человека, щелкающего по GET, потому что им легко манипулировать на стороне клиента, поэтому для этого положитесь на переменную сеанса.

Вы также можете воспользоваться переменной $ _ SERVER ['HTTP_REFERER']; , но я не думаю, что буду полагаться только на это.

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