2013-11-23 5 views
-3

В настоящее время я использую для обработки результатов с помощью переменной $ _GET от querystring (URL) http://example.com?id=c02df и для обновления и т. Д., Так как вы знаете, что пользователь может видеть, какой идентификатор отправляется на следующую страницу по URL-адресу (from above example id is c02df) и может изменить идентификатор из самого URL. Пожалуйста, дайте мне знать, есть ли альтернативный способ обмена идентификаторами между страницами для обработки функциональности, которую пользователь не может видеть или возиться?

ответ

2

Лучшим решением было бы использовать $_SESSION, если вы не хотите разрешать пользователям изменять этот запрос.

Если вы предоставите дополнительную информацию о своем коде, я могу предоставить дополнительную информацию об этом решении.

EDIT: Вот «обходной путь» для использования как $ _SESSION и $ _GET (до сих пор не видя кода на все):

Вы установили $_SESSION['allowed_gets'][] = 'c02df';

Затем, когда пользователь делает запрос, вы проверяете их, разрешено ли сделать этот запрос:

if (!in_array($_GET['id'], $_SESSION['allowed_gets'])){ die(); }

0

Если у вас есть пользователи контента не должны быть в состоянии видеть, вы должны иметь систему входа.

Если вы просто хотите использовать неопознанные URL-адреса, избегайте последовательных идентификаторов для параметра $_GET. Вы могли бы, например, генерировать соленый хеш MD5/SHA1 идентификатора, хранить его в базе данных вместе с идентификатором и использовать его в URL-адресе.

Смежные вопросы