У меня практически нет опыта работы с .htaccess, поэтому у меня есть несколько вопросов, которые я хочу прояснить. Я пытаюсь создать веб-сайт, на котором весь трафик перенаправляется на мой файл маршрутизации, который его обрабатывает. У меня на уме что-то вроде https://domain.smt/register будет перенаправлено на https://domain.smt/router.php?url=register. Можно ли сделать это с помощью файла .htacess или есть лучший способ сделать это?
Однако с этим подходом есть проблема: если я хочу добавить параметры к своему URL-адресу, скажем, https://domain.smt/register?redirect=page/category/stuff не будет ли файл маршрутизатора уязвим для атак путем внедрения? Как мне решить эту проблему, если я использую этот подход .htaccess? Или этого просто не будет?
Я попытался найти его и наткнулся на этот Перенаправить все на index.php с помощью htaccess, но он по-прежнему не упоминает инъекцию выше, так что это просто я слишком много думаю?
Спасибо за любую помощь.






Вам не нужна эта часть «url =» в вашем скрипте маршрутизатора. Настройте .htaccess, как описано в упомянутом вопросе, а затем используйте $_SERVER['REQUEST_URI'] — он уже содержит путь.
Еще проще, поставьте phpinfo(); в начало скрипта роутера и вы увидите, какие переменные в нем определены.
Чтобы разобрать эту строку, вы можете передать ее функции parse_str - php.net/manual/en/function.parse-str.php. Что касается очистки - это другой вопрос и зависит от того, где вам нужно использовать эту строку. На Stackoverflow есть множество вопросов и ответов по этому поводу,
Я попробовал это, и одна вещь бросилась мне в глаза, а именно:
[QUERY_STRING] => redirect=login/http/req&hello=world. Если я хочу использовать эту часть в своем коде, как я могу очистить ее, чтобы предотвратить инъекции? Достаточно ли htmlspecialchars?