Действительное или недействительное URL-декодирование параметров URL из сканеров QR Code? - PullRequest
0 голосов
/ 30 января 2020

У меня вопрос по поводу ошибки, с которой мы сталкиваемся:

Мы создаем QR-коды, содержащие ссылки. Эти ссылки также содержат параметры URL (например, токены), которые закодированы в base64. Кодировка Base64 может привести к строкам, которые содержат символы, такие как / или +. Таким образом, мы сделали декодирование URL впоследствии. Пример выглядит следующим образом, после чего qr «кодируется»:

 https://foo.example.net/?t=UGxhbmV%2BRXhwcmVzcw%3D%3D

Большинство протестированных сканеров штрих-кода правильно сканируют код qr и вызывают URL с неповрежденными параметрами. Однако один из сканеров уже URL-декодирует параметр и таким образом преобразует URL в:

https://foo.example.net/?t=UGxhbmV+RXhwcmVzcw==

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

https://foo.example.net/?t=UGxhbmV RXhwcmVzcw==

, что приводит неверный результат на нашей стороне. (+ преобразуется в пробел из-за удвоенного url-декодирования). Теперь разработчики приложения сканера штрих-кодов (какой-то крупной компании-производителя смартфонов) говорят, что все в порядке - полностью URL-декодирование целиком.

Таким образом, мой вопрос таков: существует ли стандарт, определяющий / указывающий, «разрешено» ли URL-декодирование содержимого QR-кодов или нет?

Обновление: я думаю, что нашел часть ответ в ответ здесь .

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