Express заменено «% 2F» на «/» в URL - PullRequest
0 голосов
/ 25 февраля 2020

В промежуточном программном обеспечении express

 server.get('/abc/test', function(req, res) {
    var token = req.param('access_token')
    return app.render(req, res, "/abc", {
     token: token
    });
  });

это перенаправит все https://domain/abc/test?token=Srasd%2Fmnaismlm%2Bsfas на ab c страницу

В журнале регистрации значения токена отображается Srasd / mnaismlm + sfas вместо Srasd% 2Fmnaismlm% 2Bsfas

есть способ предотвратить замену эти значения?

Ответы [ 2 ]

4 голосов
/ 25 февраля 2020

Использование encodeURIComponent ( см. MDN )

const token = `https://domain/abc/test?token=Srasd/mnaismlm+sfas`;
console.log(encodeURIComponent(token));
.as-console-wrapper { top: 0; max-height: 100% !important; }
0 голосов
/ 25 февраля 2020

Вы можете преобразовать / кодировать значение токена в строку Base64 при передаче в параметре и снова декодировать его в обычную строку в /abc/test.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...