Токен в этом контексте обычно представляет собой одноразовую случайную строку с ограничением по времени, используемую для проверки.Токен (скажем) 40 символов может быть сгенерирован легко [например, sha1(microtime() . rand(1, 10000)))
], который не может быть угадан пользователем и не может быть подделан (в пределах разумного).
Для подтверждения по электронной почте,токен будет сгенерирован и связан с вашей учетной записью.Когда вы посещаете адрес, содержащий токен, учетная запись активируется.Поскольку мы установили, что токен не может быть подделан или угадан (в пределах разумного), мы только что установили, что у определенного пользователя действительно есть адрес электронной почты, который он нам дал.
Если мы простоиспользуя свой членский номер, они могли сделать несколько вещей, чтобы просто угадать его, таким образом полностью обходя проверку электронной почты.
При входе в систему или отправке какой-либо формы можно использовать термин «токен»в несколько ином контексте - это все еще одноразовая случайная строка с ограничением по времени, но она используется для того, чтобы убедиться, что человек, который отправил форму, только что пришел из формы, которую он пытался отправить.
Например, скажемВы входите в свой онлайн-банкинг.У них может быть форма для перевода денег на другой банковский счет.Если вы зайдете на сайт www.nastysite.com, они могут содержать iframe, который указывает на <iframe src="http://www.mybank.com/send_money.php?amount=9001&to=Joe">
.Если ваш банк не подтвердит, что вы действительно были в форме, этот платеж будет выполнен, и вы не будете счастливы.Даже если вы находитесь в форме, шансы правильного токена в вашей форме, используемого при фальшивой загрузке страницы, равны (почти) нулю.
Это называется «Подделка межсайтовых запросов», или CSRF.,Чтобы узнать больше о CSRF, посмотрите эту статью в Википедии .Кроме того, я только что получил эту ссылку после написания этого поста и увидел, что они используют очень похожий пример с моим - подлинное совпадение, ха-ха.