【问题标题】:Got Error: Cannot match any routes. URL Segment:出现错误:无法匹配任何路由。网址段:
【发布时间】:2020-01-23 14:19:51
【问题描述】:

Angular App throwing Cannot match any routes error with XSS script in URL :

我正在使用 Angular 4 开发应用程序。当我尝试为功能模块编写路由时,我收到错误消息:无法匹配任何路由。

这是我使用的路线代码:

const ROUTES: Routes = [
  {path: '', redirectTo: '/', pathMatch: 'full'},
  {path: 'test/:name', component: TestCompnent},
  {path: '**', component: TestCompnent}
];

当路由类似于 test/angular 或 test/some-course-name 但是当我尝试将一些 XSS 脚本注入同一路由时,路由工作正常并转到 TestCompnent,例如

test/<script>alert('hello')</script>,

它抛出一个错误

错误:无法匹配任何路由。 URL 段:''你好'' 错误:无法匹配任何路由。 URL 段:''你好''

【问题讨论】:

  • 你不应该在路由中注入 XSS 脚本
  • 即使对于黑客用户来说,因为我有一个带有这个致命错误的白屏。

标签: angular xss angular4-router


【解决方案1】:

这是预期和想要的行为,因为 XSS 是大多数服务的主要漏洞。 因此,谷歌的伙计们尽了最大的努力来禁用它们。 Docs

【讨论】:

  • 感谢您的回复,因此,是否有任何解决方案可以重定向到主页或其他页面,因为当我收到此错误时,我只是空白屏幕,因此没有关于应用程序状态的指示即使是黑客用户。
  • 根据我的经验,您的通配符路径 {{path: '**', redirectTo: ''}} 应该已经可以解决问题了。也许这被 XSS 阻塞行为覆盖,应该被报告为错误。
猜你喜欢
  • 2017-03-01
  • 2018-09-01
  • 2017-08-10
  • 2017-11-13
  • 2020-04-14
  • 1970-01-01
  • 2018-03-08
  • 1970-01-01
  • 2019-12-13
相关资源
最近更新 更多