добраться или сессия?

у меня есть форма входа в систему, которая находится в login.php. после авторизации i moove клиент в some.php файл! таким образом, из следующих двух методов, который лучше?

  1. я могу отправить информацию aboud пользователь id e.t.c GET
  2. я могу использовать SESSION - s для этого

что более предпочтено?

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

спасибо

7
задан Sampson 19 May 2010 в 14:21
поделиться

7 ответов

Сессии действительно являются предпочтительным решением. Вы не можете доверять данным, отправленным в строке запроса ($ _GET, $ _POST, $ _COOKIE и т. Д.), Потому что все они могут быть изменены пользователем, но вы можете доверять тому, что никто не подделывал данные _SESSION $ _SESSION, поскольку _SESSION $ хранится на сервере.

7
ответ дан 7 December 2019 в 01:17
поделиться

Если я правильно понимаю вопрос, то нет. Вместо этого используйте POST , а затем создайте SESSION после входа в систему.

Допустим, пользователь заходит на index.php , где находится форма входа. Он вводит информацию и нажимает «логин». Вы отправляете данные на login.php , используя POST . Если имя пользователя, пароль и другая информация верны, вы создаете SESSION и перенаправляете пользователя в другое место.

1
ответ дан 7 December 2019 в 01:17
поделиться

Я бы использовал SESSION, если вы хотите сохранить некоторую информацию, основанную на успешной аутентификации. Данные в переменных GET, POST слишком легко манипулировать.

0
ответ дан 7 December 2019 в 01:17
поделиться

Если вам приходится выбирать между $_SESSION и $_GET, то для безопасных вещей используйте $_SESSION. Все, что пользователь может сделать с сессиями, это уничтожить их (удалив куки PHPSESSID), но пользователь не может манипулировать ими.

Если вам нужно передать информацию один раз, то $_SESSION очень хорош. Вы можете хранить некоторые данные в переменной $_SESSION, менять их расположение через PHP (чтобы пользователь не мог заблокировать скрипт путем отключения JavaScript. Просто используйте header('Location: '.$path);), использовать содержимое $_SESSION на другой странице, и у пользователя не будет промежутка времени, когда он может уничтожить сессию. Это безопасно.

0
ответ дан 7 December 2019 в 01:17
поделиться

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

0
ответ дан 7 December 2019 в 01:17
поделиться

$_SESSION может иметь свои недостатки, но использование $_GET для такого рода вещей еще хуже.

1
ответ дан 7 December 2019 в 01:17
поделиться

В сеансах нет ничего плохого. Фактически, в этой ситуации я бы хранил идентификатор пользователя в сеансе, а не передавал его в URL-адресе. Это будет намного чище и профессиональнее, ИМХО. Хранение тривиальной информации в сеансе — это нормально.

1
ответ дан 7 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: