2016-09-26 3 views
0

У меня есть стол. Когда пользователь нажимает на элемент в этой таблице, он принимает идентификатор строки таблицы и устанавливает переменную сеанса, а затем загружает форму. Переменная сессии важна, так как она является идентификатором файла, который мне нужно добавить.Есть ли способ обновить переменную SESSION с истекшим сроком действия?

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

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

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

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

Есть ли способ обновить переменную сеанса с истекшим сроком действия, если она не существует?

+2

Нет, не совсем. Почему бы просто не продлить период ожидания? Если получение cuppa занимает более 15 минут, то пользователь заслуживает боль, не выполняя свою работу. –

+1

@JayBlanchard: как бы печенье было более безопасным, чем скрытое поле формы? –

+0

Это не более безопасный @MarcB, думаю, я должен был объяснить это лучше. –

ответ

1

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

+0

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

+0

@ThomasWilliams Я думаю, мы не поняли, как работает ваш текущий код, и предположил, что идентификатор уже был где-то на странице HTML. –

+0

@ThomasWilliams Не имеет значения, изменили ли они ID на что-то еще, если им разрешено редактировать что-то еще. Поэтому, когда вы сохраняете форму, вам нужно сделать чек, чтобы узнать, может ли этот человек увидеть и сохранить эту форму. Вы все равно должны это делать. –

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