首页 > 解决方案 > React/Security - 可以检查 React 路由吗?

问题描述

react-router-dom用来支持路由。我想采取捷径来支持管理屏幕,但想知道这样做相对安全。

我想支持类似于/admin12345(所以管理员使用随机预定义字符串)的路线。如果有人正在检查网站,这是否可以以某种方式显示?

请参见下面的代码:

export default function App() {
  return (
    <Router>
      <Switch>
        <Route path="/admin12345" component={AdminPage} />
        <Route path="/" component={HomePage} />
      </Switch>
    </Router>
  )
}

标签: reactjsroutes

解决方案


如果客户端能够从页面访问带有 react-router 的管理页面,则您必须为该客户端提供路由名称。

所以,回答这个问题:是的,绝对 - 一个坚定的坏演员将能够找到你的管理路线。根据您的构建管道,该路径可能在您提供的源文件中采用未混淆的纯文本。如果您没有实施任何速率限制,一个确定的不良行为者也可能会向您的潜在管理路径发出请求以找到您的路线(好吧,除非路线名称真的很长,但是如果您将该路线提供给客户端 w /react-router,一个确定的坏演员会找到它)。

您需要在您的管理页面功能前设置某种密码保护或 IP 白名单。

这个 StackOverflow 答案有一些保护敏感页面的一般原则 保护网站管理部分的最佳实践是什么?


推荐阅读