Это затем изменяет некоторые переменные $_SERVER
и приводит к тому, что все мои относительные пути к CSS, ссылкам, изображениям и т. Д. Становятся недействительными, и страница загружается неправильно.
Звучит так, что вы допустили большую ошибку на своем веб-сайте, и вам следует заново продумать, как вы вводите информацию о ссылках из входных данных в свои выходные.
Только фильтрация входных данных здесь не помогает, вам нужно отфильтроватьвывод также.
Часто легче, если ваше приложение получает запрос, который не совпадает с расширенным набором разрешенных запросов, чтобы вернуть ошибку 404.
Я не уверен, какЯ удаляю эти нежелательные данные в URL.
На самом деле, запрос уже отправлен, поэтому URL задан.Вы не можете "изменить" это.Это просто информация, которая была запрошена.
Теперь ваша задача - разобраться с этим, а не слепо передавать его, например, в ваш вывод (и тогда ваши ссылки не работают).
Редактировать: Теперь вы написали более конкретно, что вас беспокоит.Я бы сказал здесь с dqhendricks : кого это волнует?
Если вы действительно чувствуете себя некомфортно из-за того, что пользователь просто использует свой браузер и вводит любой URL, который он считает свободным, сделать этоНу, технически правильный ответ:
400 Неверный запрос ( ref )
И вернуть страницу без или только с полной квалификациейURI (абсолютные URI) или переопределение Base-URI , в противном случае браузер примет URI, введенный в его адресную строку, как Base-URI .См. Унифицированный идентификатор ресурса (URI): общий синтаксис RFC 3986; Раздел 5. Справочное разрешение Характеристики .