PHP Fat Free Framework: не работает, когда GET-параметры содержат URL

Я использую Fat Free Framework и хочу обработать входящий запрос, например: http://example.com/api/method/?user_id=1&url=http://newsite.com

Я использую F3::route метод для обработки запросов GET к этому методу, но я получаю следующую ошибку:

parse_url(/method?user_id=1&url=http://newsite.com): Unable to parse URL

Я думаю, что я отследил это до проблемы с функцией PHP parse_url() который терпит неудачу на относительных URL.

Любые идеи, как я могу заставить F3 правильно обрабатывать URL в параметрах запроса GET?

2 ответа

Решение

Я столкнулся с этой проблемой раньше. Если у вас нет контроля над входящим URL-адресом, который не кодируется в URL-адресе, вы можете сделать это как грязный хак до запуска F3, чтобы избавиться от косых черт в аргументе:

$_SERVER['REQUEST_URI'] = str_replace('http://', 'http:', $_SERVER['REQUEST_URI']);

Почему бы не упростить и не использовать urlencode('http://www.google.com');???

Другие вопросы по тегам