Regex 一个开放式的.htaccess重写允许在URL的末尾添加任何内容,这有多糟糕?

Regex 一个开放式的.htaccess重写允许在URL的末尾添加任何内容,这有多糟糕?,regex,.htaccess,Regex,.htaccess,基本上,我在一个客户端网站上工作,我刚刚意识到他们的许多重写正则表达式规则不检查URL的结尾,并且在几乎所有情况下,你都可以在URL的结尾抛出任何垃圾,它仍然返回ok,例如: /第23.html条 /第23.htmlaijdasduahds条 /第23.html.jpg条 等 这实际上发生在网站的4个不同区域,这意味着大多数网站页面都容易受到影响 好的,一切都被消毒了好的,当它被读取的时候,我很清楚我将如何修复它,但是我想知道的是,这会产生什么主要问题 另外,应该返回什么HTTP状态?一方面

基本上,我在一个客户端网站上工作,我刚刚意识到他们的许多重写正则表达式规则不检查URL的结尾,并且在几乎所有情况下,你都可以在URL的结尾抛出任何垃圾,它仍然返回ok,例如:

  • /第23.html条
  • /第23.htmlaijdasduahds条
  • /第23.html.jpg条

这实际上发生在网站的4个不同区域,这意味着大多数网站页面都容易受到影响

好的,一切都被消毒了好的,当它被读取的时候,我很清楚我将如何修复它,但是我想知道的是,这会产生什么主要问题


另外,应该返回什么HTTP状态?一方面,你会认为它应该是一个直接的404,但如果我们可以的话,它值得301'ing到正确的页面吗?

一个301到正确的页面对性能不会有很大的危害,但可能会导致很多用户“到正确的地方”。我有一个客户是痴迷于这类事情,从来没有离开任何旧的有效URL没有301'ing到新的(如果有一个新的当然)。他声称,仅此一点就让他在搜索引擎中保持了很好的排名,并避免了许多用户自己寻找正确URL的麻烦。我相信这很有帮助。也许,如果网站相对较新,就不值得付出努力和开销,但如果不是那么新,我会这么做