使用Node.js搭建REST API并使用白名单IP或域名限制用户访问的步骤如下:
- 安装Node.js:首先确保已在计算机上安装了Node.js。可以从Node.js官方网站(https://nodejs.org/)下载并按照指示进行安装。
- 创建项目目录:在计算机上选择一个适当的位置创建项目目录,并在命令行中进入该目录。
- 初始化项目:在命令行中运行以下命令,初始化一个新的Node.js项目:npm init按照提示填写项目信息,生成一个package.json文件。
- 安装依赖模块:在命令行中运行以下命令,安装所需的依赖模块:npm install express
npm install body-parser其中,express是一个流行的Node.js框架,用于构建Web应用程序;body-parser是一个中间件,用于解析HTTP请求体。
- 创建主文件:在项目目录中创建一个名为app.js(或其他名称)的主文件,并在其中编写以下代码:const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
// 白名单IP或域名列表
const whitelist = ['192.168.0.1', 'example.com'];
// 中间件,用于限制用户访问
app.use((req, res, next) => {
const clientIP = req.ip;
const clientHost = req.hostname;
if (whitelist.includes(clientIP) || whitelist.includes(clientHost)) {
next(); // 允许访问
} else {
res.status(403).send('Forbidden'); // 拒绝访问
}
});
// 解析请求体
app.use(bodyParser.json());
// 定义REST API路由
app.get('/api/users', (req, res) => {
// 处理GET请求,返回用户列表
res.json({ users: ['user1', 'user2', 'user3'] });
});
app.post('/api/users', (req, res) => {
// 处理POST请求,创建新用户
const newUser = req.body.user;
// 执行创建用户的逻辑
res.json({ message: 'User created successfully' });
});
// 启动服务器
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
- 启动服务器:在命令行中运行以下命令,启动Node.js服务器:node app.js服务器将在本地的3000端口上运行。
现在,你已经成功使用Node.js搭建了一个REST API,并使用白名单IP或域名限制了用户访问。只有在白名单中的IP或域名才能访问API。