Почему Yii2 экранирует символы в url? Всем привет.
Подскажите почему Yii2 может экранировать некоторые ссылки?
Пример:
вместо ?id=18b97aa654bce41356002559 он показывает ?id%5Boid%5D=18b97aa654bce41356002559. естественно ссылка не отрабатывает.
Я использую mongoDb.
Возможно проблема в том что mongodb использует id как объект. как же его тогда получить? $categories['_id']]) ?>"> Как решить эту проблему? Спасибо.

21 Авг 2019 в 06:30
200 +1
0
Ответы
1

Дело в том, что в Yii2 используется URL-кодирование, чтобы защитить приложение от атак на основе внедрения кода. Когда вы передаете параметр id в метод Url::to(), он автоматически кодируется для безопасности.

Если вы хотите передать параметр _id как строку без кодирования, вы можете использовать сырые данные следующим образом:

<a href="<?= \yii\helpers\Url::to(['categories/view', 'id' => $categories['_id'], 'encode' => false]) ?>"><?= $categories['name'] ?></a>

Это позволит передать _id без URL-кодирования. Однако, учтите, что передача сырых данных может представлять уязвимость безопасности, поэтому будьте осторожны при использовании этого метода.

20 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир