команда нашего веб-сайта только что обнаружила, что любой пользователь может добавить косую черту '/', а затем любую строку после URL-адреса, который заканчивается расширением .php, и при этом получить доступ к той же исходной странице.
Например: я могу получить доступ к www.mydomain.com/index.php с помощью:
- www.mydomain.com/index.php/test
- www.mydomain.com/index.php/test/123
- www.mydomain.com/index.php/wqeqwew/2234dwd
(Примечание: дополнительных строк после index.php/ на сервере нет, это просто мусор)
Другая проблема заключается в том, что с моими динамическими URL-адресами я всегда могу добавить несуществующий файл php между моим доменным именем и первым параметром.
Например: я могу получить доступ к www.mydomain.com/product/one с помощью:
- www.mydomain.com/test.php/product/one
- www.mydomain.com/imnother.php/product/one
Как я могу предотвратить это и как с этим бороться? Является ли это серьезной проблемой с точки зрения SEO или безопасности? Я хочу, чтобы веб-сайт возвращал ошибку 404 всякий раз, когда такие URL-адреса вводятся или нажимаются в браузере.
Любая помощь приветствуется. Спасибо!
ИЗМЕНИТЬ:
Я думаю, что уже исправил это. Для первой проблемы я добавил AcceptPathInfo Off
в свой .htaccess. И для второй проблемы я просто добавил ^
перед своим RewriteRule для моего динамического URL-адреса, например. RewriteRule ^product/(.*)$
, чтобы никто не мог добавить лишнюю строку между доменным именем и первым параметром. Спасибо за помощь!
mod_rewrite
правила (файл .htaccess). - person shadyyx   schedule 23.11.2012