Предоставление пользователю секрета, который сервер не может увидеть

я столкнулся с той же проблемой, пытаясь понять разницу. объяснения, которые были даны до сих пор, справедливы на деньги, но я понял их только после того, как увидел пример:

#include <algorithm>
#include <string>
#include <iostream>
#include <cctype>

int main()
{
    std::string str1 = "Text with some   spaces";
    std::string::iterator it = remove(str1.begin(), str1.end(), 't');
    std::cout << str1 << std::endl;// prints "Tex wih some   spaceses"
    for (str1.begin();it != str1.end(); ++it) 
    {
         std::cout << *it; //prints "es"
    }

}

, как вы можете видеть, удаление удаляет только нижний регистр 't' до конца строки, возвращая новый итератор в конец новой строки (новая строка - это старая строка до места, где был вставлен удаленный элемент), поэтому, когда вы печатаете итератор, который вы получили из «remove»,

   "Text with some   spaces"
       ^   ^removes both 't', then shift all elements forward -1 //what we want to remove
   "Text with some   spaces"
                          ^ end of string                    -2 //original state of string
   "Tex with some   spacess"
                          ^end of string                     -3 //first 't' removed
   "Tex wih some   spaceses"
                          ^end of string                     -4 //second 't' removed
   "Tex wih some   spaceses"
                        ^new iterator that remove() returned -5 // the state of string after "remove" and without "erase"

, если вы передадите итератор, полученный с шага 5, на «erase ()», он будет знать, что он удалит оттуда до конца строки, переопределив строку в процессе

1
задан Shruggie 2 March 2019 в 06:50
поделиться

2 ответа

Возможно, можно создать плагин для браузера для решения подобных задач. OAuth-сервер может ассоциировать токен с идентификатором сеанса на стороне сервера (вероятно, хранить его в дБ). Когда запрос с токеном oauth получен, сервер проверяет, находится ли тот же токен в сеансе.

0
ответ дан jun12 2 March 2019 в 06:50
поделиться

Обратитесь к OAuth2 «неявному потоку», где сервер авторизации напрямую передает маркер доступа браузеру в хэш-фрагменте URL. Хеш-фрагменты никогда не отправляются на внутренний сервер. Однако «неявный поток» не так защищен, как поток «кода авторизации».

0
ответ дан Saptarshi Basu 2 March 2019 в 06:50
поделиться
Другие вопросы по тегам:

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