我们网站的团队刚刚发现,任何用户都可以在以.php扩展名结尾但仍访问同一原始页面的URL之后添加斜杠“/”然后添加任何字符串.
例如:
我可以访问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/imnothere.php/product/one
如何防止这种情况发生?如何处理?这在SEO或安全方面是一个严重的问题吗?我希望网站在浏览器中输入或点击这些类型的URL时返回404错误.
任何帮助是极大的赞赏.谢谢!
编辑:
我想我已经修好了.对于第一个问题,我在.htaccess中添加了AcceptPathInfo Off.对于第二个问题,我刚刚在我的RewriteRule之前为我的动态网址添加了^,例如RewriteRule ^ product /(.*)$,这样任何人都无法在域名和第一个参数之间添加额外的字符串.感谢您的帮助!