reactjs - 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>
)
}
解决方案
如果客户端能够从页面访问带有 react-router 的管理页面,则您必须为该客户端提供路由名称。
所以,回答这个问题:是的,绝对 - 一个坚定的坏演员将能够找到你的管理路线。根据您的构建管道,该路径可能在您提供的源文件中采用未混淆的纯文本。如果您没有实施任何速率限制,一个确定的不良行为者也可能会向您的潜在管理路径发出请求以找到您的路线(好吧,除非路线名称真的很长,但是如果您将该路线提供给客户端 w /react-router,一个确定的坏演员会找到它)。
您需要在您的管理页面功能前设置某种密码保护或 IP 白名单。
这个 StackOverflow 答案有一些保护敏感页面的一般原则 保护网站管理部分的最佳实践是什么?
推荐阅读
- python-3.x - 在循环中同时设置pandas Dataframe中单元格的值和样式(颜色)
- json - 当第二个字符串出现不止一次时,从两个字符串之间的 JSON 变量中提取文本
- python - Python 包 - 存储配置/设置
- python - 从 API 使用 JSON 时如何修复无效的源参数
- mysql - 如何使用我的变量 _Limite 传递的数字来限制我的查询?
- javascript - Ionic4 显示带有换行符的文本
- git - 自定义 Cloud Shell 映像创建 - git push 问题
- javascript - 动态创建的弹出窗口的问题
- excel - 如何按不同列的日期对电子表格进行排序?
- ignite - Apache Ignite:收到错误:获取拓扑版本的亲和性早于亲和性计算