我们网站的团队刚刚发现,任何用户都可以在以 .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 错误。
任何帮助是极大的赞赏。谢谢!
编辑:
我想我已经修好了。对于第一个问题,我AcceptPathInfo Off
在我的 .htaccess 中添加了。对于第二个问题,我刚刚^
在我的动态 URL 的 RewriteRule 之前添加,例如RewriteRule ^product/(.*)$
,这样没有人可以在域名和第一个参数之间添加额外的字符串。感谢所有的帮助!