我们网站的团队刚刚发现,任何用户都可以在以.php扩展名结尾但仍访问同一原始页面的URL之后添加斜杠"/"然后添加任何字符串.
例如:我可以访问www.mydomain.com/index.php:
(注意:index.php /之后的其他字符串在服务器中不存在,它们只是一些垃圾)
另一个问题是,使用我的动态URL,我总是可以在我的域名和第一个参数之间添加一个不存在的php文件.
例如:我可以访问www.mydomain.com/product/one:
如何防止这种情况发生?如何处理?这在SEO或安全方面是一个严重的问题吗?我希望网站在浏览器中输入或点击这些类型的URL时返回404错误.
任何帮助是极大的赞赏.谢谢!
编辑:
我想我已经修好了.对于第一个问题,我AcceptPathInfo Off在.htaccess中添加了.对于第二个问题,我刚刚^在我的RewriteRule之前RewriteRule ^product/(.*)$添加了动态URL,例如,以便没有人可以在域名和第一个参数之间添加额外的字符串.感谢您的帮助!
我怎样才能防止这种情况发生以及如何处理?
这是由于 Apache 的AcceptPathInfo指令。您可以将其关闭 - 如果服务器进行了相应配置,您只需要一个 .htaccess 文件即可。
这在 SEO 或安全方面是一个严重的问题吗?
我想不出有什么办法可以让它成为一个严重的问题。它通常在大多数处理程序中默认启用,并且通常被用作“穷人的mod_rewrite”(一种提供美观 URL 的方法)。