当前位置: 首页 > news >正文

外贸网站建设十大标准外贸网站建站互联网广告公司

外贸网站建设十大标准外贸网站建站,互联网广告公司,aspx网站如何架设,西安软件公司有哪些个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

个人简介

👀个人主页: 前端杂货铺
🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展
📃个人状态: 研发工程师,现效力于中国工业软件事业
🚀人生格言: 积跬步至千里,积小流成江海
🥇推荐学习:🍍前端面试宝典 🎨100个小功能 🍉Vue2 🍋Vue3 🍓Vue2/3项目实战 🥝Node.js实战 🍒Three.js

🌕个人推广:每篇文章最下方都有加入方式,旨在交流学习&资源分享,快加入进来吧

内容参考链接
Node.js(一)Node.js——fs(文件系统)模块
Node.js(二)Node.js——path(路径操作)模块
Node.js(三)Node.js——http 模块(一)
Node.js(四)Node.js——http 模块(二)
Node.js(五)Node.js——express项目搭建、请求、响应
Node.js(六)Node.js——express中间件(全局中间件、路由中间件、静态资源中间件)

文章目录

    • 前言
    • 获取请求体数据
    • 防盗链
      • Referer 头验证
      • 使用 CORS 跨域
      • 使用自定义 HTTP 头
    • 路由模块化
    • Express 应用程序生成器
    • 总结

前言

上篇文章我们认识了中间件的使用及作用。

本篇文章我们学习如何获取请求体数据、防盗链的使用。


获取请求体数据

express 可以使用 body-parser 包处理请求体;它支持多种格式的数据解析,包括JSON、URL编码和文件上传处理。

安装 body-parser 包

npm i body-parser

导入 body-parser 包

const bodyParser = require('body-parser');

获取中间件函数:

const urlParser = bodyParser.urlencoded({extend: false});
const jsonParser = bodyParser.json();

下面,我们设置路由中间件,然后使用 req.body 来获取请求体数据。

const bodyParser = require("body-parser");
const express = require("express");const app = express();// 解析 json 格式的请求体的中间件
const jsonParser = bodyParser.json();
// 解析 querystring 格式请求体的中间件
const urlencodeParser = bodyParser.urlencoded({ extended: false });app.get("/login", (req, res) => {res.sendFile(__dirname + "/index.html");
});// urlencodeParser 执行完毕之后,会往 req 中添加一个 body
app.post("/login", urlencodeParser, (req, res) => {console.log(req.body);res.send("获取用户的数据");
});app.listen(3000, () => {console.log("服务已启动,端口 3000 正在监听中...");
});

index.html 中的内容如下,发送 post 请求(PS:也可以使用 postman 等第三方工具发)。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><form action="/login" method="post">用户名:<input type="text" name="username" /><br />密码:<input type="text" name="password" /><br /><button>登录</button></form></body>
</html>

在这里插入图片描述

在这里插入图片描述


防盗链

在 Node.js 环境中,防止资源被直接访问(即防盗链)通常涉及到几个关键方面,包括设置HTTP响应头、使用服务器端的访问控制以及可能的客户端验证。

Referer 头验证

在服务器端,检查请求的 Referer 头来验证请求是否来自你的网站。这种方法依赖于客户端正确设置 Referer 头,但这不是100%可靠的,因为用户可以禁用 Referer 头。

const express = require("express");const app = express();app.use((req, res, next) => {let referer = req.get("referer");if (referer) {const url = new URL(referer);const hostname = url.hostname;if (hostname !== "127.0.0.1") {res.status(404).send("Not Found");return;}}next();
});app.use(express.static(__dirname + "/public"));app.listen(3000, () => {console.log("服务已启动,端口 3000 正在监听中...");
});

public/index.html 中添加如下代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><p>http://localhost:3000/ => 不显示svg图片</p><p>http://127.0.0.1:3000/ => 显示svg图片</p><img src="http://localhost:3000/images/star.svg" alt="" /></body>
</html>

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


使用 CORS 跨域

使用 CORS 跨域间接帮助防止资源被未授权的网站访问。

const cors = require('cors');
const app = express();app.use(cors({origin: 'https://yourdomain.com' // 只允许来自此域的请求
}));

使用自定义 HTTP 头

通过设置 X-Frame-Options 头,你可以防止资源被嵌入到其他网站中,这是一种间接的防盗链方法。

app.use((req, res, next) => {res.setHeader('X-Frame-Options', 'SAMEORIGIN'); // 或 'DENY' 来完全禁止嵌入next();
});

路由模块化

实际开发中,路由会有很多种(比如前台路由、后台路由等),我们可以把路由模块化,这样更易于维护、代码也更清晰。

创建 homeRouter.js 文件,用于存放前台路由。

const express = require("express");// 创建路由对象
const router = express.Router();router.get("/home", (req, res) => {res.send("前台首页");
});router.get("/search", (req, res) => {res.send("内容搜索");
});module.exports = router;

创建 adminRouter.js 文件,用于存放后台路由。

const express = require("express");// 创建路由对象
const router = express.Router();router.get("/admin", (req, res) => {res.send("后台首页");
});router.get("/setting", (req, res) => {res.send("后台设置");
});module.exports = router;

在主文件中,引入前台路由和后台路由,并通过 app.use() 使用它们。

const express = require("express");
const homeRouter = require("./routes/homeRouter");
const adminRouter = require("./routes/adminRouter");const app = express();
// 前台路由
app.use(homeRouter);
// 后台路由
app.use(adminRouter);router.get("*", (req, res) => {res.send("Not Found");
});app.listen(3000, () => {console.log("服务已启动,端口 3000 正在监听中...");
});

在这里插入图片描述

在这里插入图片描述


Express 应用程序生成器

通过应用生成器能快速创建一个应用骨架。

安装 express-generator

npm i express-generator

创建名为 express-generator 的应用程序。

experss -e express-generator

之后再 npm i 安装一下依赖,即可得到如下的目录结构。

在这里插入图片描述

终端键入命令 npm start 即可运行应用。

在这里插入图片描述


总结

本篇文章我们学习了 使用 body-parser 获取请求体数据、使用 referer 头验证等方式添加防盗链、拆分路由实现其模块化,使用 express-generator 快速搭建应用等。

好啦,本篇文章到这里就要和大家说再见啦,祝你这篇文章阅读愉快,你下篇文章的阅读愉快留着我下篇文章再祝!


参考资料:

  1. Node.js教程(菜鸟教程)
  2. Node.js零基础视频教程(尚硅谷 · 李强)

在这里插入图片描述


http://www.dt0577.cn/news/49745.html

相关文章:

  • 郑州北环网站建设培训自制网页
  • 京东第一次做网站360应用商店
  • 手机商城积分兑换安康seo
  • 做旅游网站的目的与意义网站建设方案书范文
  • 聚搜济南网站建设公司百度推广最简单方法
  • 有什么做任务得佣金的网站黑帽seo寄生虫
  • 福州做企业网站的公司找文网客服联系方式
  • 寄生虫网站怎么做惠州企业网站建设
  • 自己做网站教程友情链接交换平台免费
  • ab模板网官网seo搜索优化是什么呢
  • 记事本做网站插图片seo属于技术还是营销
  • 网站设置搜索关键字百度网站免费优化软件下载
  • 框架布局技术制作一个网站百度识图在线使用一下
  • 网站建设中 倒计时seo内容优化方法
  • 模板网站做外贸好不好兰州网络推广的平台
  • 建站方案策划书如何开发一款app软件
  • 政府网站建设现状和存在的问题站长之家工具
  • 潍坊设计网站建设百度站长平台链接提交
  • 大学网站建设专业互联网运营推广是做什么的
  • 国外那些网站做展厅比较好西安优化seo托管
  • 药学专业网站开发软件app需要多少钱
  • wordpress如何关闭评论孔宇seo
  • 江苏鑫圣建设工程有限公司网站百度公司简介
  • 天津南开做网站公司南宁百度推广seo
  • 河东网站建设长沙优化科技有限公司正规吗
  • 网站开发验证码的有效性怎么在百度推广
  • 网站建设项目明细全网网站快速排名推广软件
  • 淘宝客网站建设百度seo优化排名如何
  • 建设银行 网站用户变成个人用户凡科建站怎么样
  • 粉红色网站欣赏网络推广的方式和途径有哪些