У моего друга было собеседование, и мне задавали несколько вопросов с несколькими вопросами. Один из вопросов
С какими из них можно управлять на стороне клиента: данные cookie, данные сеанса, удаленный ip, пользовательский агент
Я бы сказал, что сеанс – это единственный, который вы не можете использовать (я имею в виду, вы можете его захватить и т. Д., Но вы не можете изменить его данные по подсказкам)
Как вы думаете?
Данные cookie и пользовательский агент, очевидно, можно манипулировать по желанию.
Точно так же, как вы сказали, что данные сеанса сами по себе нельзя манипулировать, вы можете только захватить сеансы, украсть файлы cookie, используемые для связи пользователя с сеансом, …
Удаленный IP – это сложный вызов. Поскольку http основан на TCP, вы не можете подделывать произвольные удаленные IP-адреса. Вы можете скрыть свой реальный IP-адрес с помощью прокси. Но для подделки другого IP-адреса необходимо иметь возможность принимать пакеты, адресованные этому IP-адресу. И вы обычно можете это сделать, только если вы являетесь частью маршрута к этому IP-адресу. Связанный старый вопрос Проблемы безопасности приложений: насколько легко подделать IP-адрес?
Данные cookie и пользовательский агент могут полностью предоставляться клиентом, т. Е. Можно манипулировать.
IP-адрес может быть подделан (с локальным доступом и / или техническим и организационным ноу-хау), но он всегда будет в допустимом формате, т. Е. Никогда не будет произвольной строкой.
Данные сеанса управляются самим сервером и не могут быть обработаны. Однако злоумышленник может ассоциироваться с другим сеансом, например, путем захвата файла cookie другого пользователя.