Google Search Console说公共网站受到黑客攻击。该网站是用Angular 8.2.x编写的。遭入侵的类型:URL注入(https://support.google.com/webmasters/answer/3311329?hl=en)。
在警告下标记URL-s
这很有趣,因为服务器上根本没有任何PHP源。我开始调试...我打开了示例URL之一。发生以下情况:网站正在加载,我看到内容已呈现(主页),但是URL发生了更改,并将我从中重定向
https://example.com/wiki.php?2687fiugf121ce0u1k43m_8
到
https://example.com/?2687fiugf121ce0u1k43m_8=
它切断了URL的某些部分。有趣,因为如果找不到路由,我希望Angular路由会将我重定向到https://example.com。
当前路线对象:
const routes: Routes = [
{
path: '',
component: HomeComponent,
},
{
path: '**',
redirectTo: ''
}
];
我也在localhost中尝试了同样的方法,发生了同样的事情。
如果我将redirectTo值从空字符串更改为'/',则它将重定向到预期的路由(https://example.com)。
有人知道后台发生了什么(关于此URL注入问题),redirectTo: ''
和redirectTo: '/'
有什么区别?这似乎是我的错,还是Angular中的错误?
答案 0 :(得分:0)
如果您使用以“ /”开头的路由,则路由器会认为该路由是绝对的。路由器从应用程序的根目录开始搜索。
如果您使用路由“(不带斜杠),则路由器会认为该路由是相对的。相对于当前活动路由(重定向之前)
有关此的更多信息:https://angular.io/guide/router#relative-navigation
希望有帮助!