如何识别网站是否使用React与Node技术栈进行开发?
React 与 Node.js 技术栈识别特征
以下是从页面源代码、DOM、请求响应、Cookie等渠道可获取的明确识别特征,可直接集成到你的脚本逻辑中:
React 识别特征
- DOM内置属性校验(准确率最高):任意页面DOM节点上存在
__reactInternalInstance$开头、或__reactProps$开头的随机后缀属性,即可100%确认使用了React,生产环境打包也不会移除该类内部属性 - 源代码关键词匹配:搜索页面源码或加载的JS文件中存在
react.production.min.js、createRoot、ReactDOM.render、__NEXT_DATA__(React生态框架Next.js特有标记)等关键词,可判定使用React - 全局变量校验:开发环境下通常会暴露
window.React、window.ReactDOM全局变量,可作为辅助判定依据 - 响应头/元标记辅助:部分站点会在响应头返回
X-React-Version字段,或在页面head中插入<meta name="generator" content="React x.x.x">标记,可作为补充校验项
Node.js 识别特征
Node.js为后端运行环境,前端侧可通过公开返回的信息间接判定:
- 响应头特征:响应头中返回
X-Powered-By: Express、X-Powered-By: Koa、X-Powered-By: Next.js等Node生态框架标记,或Server字段包含node、Node.js关键词,可判定后端为Node.js栈 - Cookie特征:Node生态常用的会话中间件默认生成名为
connect.sid的会话Cookie,出现该Cookie可作为核心判定依据 - 错误页特征:若站点暴露后端错误页面,堆栈信息中存在
node_modules、express、koa等关键词,可确认使用Node.js - 补充说明:生产环境很多站点会修改默认响应头,建议结合2个及以上特征交叉判定,提升识别准确率
内容的提问来源于stack exchange,提问作者user17476646
相关产品推荐
相关产品推荐

