在做JS逆向时常常会遇到需要模拟浏览器环境的情况,比如需要获取浏览器的location、document对象等。当然,如果只是类似获取 location 对象中的某个值的话,我们可以直接在浏览器端将参数值都复制过来。但是,如果需要对 document 进行操作那么就无能为力了,此时就需要使用到一个 NodeJS 包:jsdom。jsdom 是一个 NodeJS 包,它可以在 NodeJS 环境中模拟浏览器环境,包括创建一个 window 对象、document 对象等。使用 jsdom 包,我们可以创建一个虚拟的浏览器环境,然后在该环境中执行 JS 代码,从而实现对 document 对象的操作。安装npm install jsdom使用 const { JSDOM } = require('jsdom'); const dom = new JSDOM('<!DOCTYPE html><html><body></body></html>'); const window = dom.window;
什么是模板引擎模板引擎是一种用于动态生成HTML、XML等内容的工具或框架。它允许开发者将数据与HTML模板结合,以生成最终的页面内容。通常,模板引擎会使用一种特定的语法来表示动态数据和逻辑,然后将这些模板与实际数据进行渲染,生成最终的输出。模板引擎的主要作用是简化动态内容的生成过程,并提高页面的可维护性。它们通常支持一些基本的逻辑控制,如条件判断和循环,以便根据不同情况生成不同的输出。常见的模板引擎包括Mustache、Handlebars、EJS等,它们各自具有不同的特性和语法。ejs 简介ejs(Embedded JavaScript templating)是一种流行的模板引擎,支持在nodejs和浏览器环境上使用。它允许开发者使用JavaScript代码嵌入HTML模板中,以便根据需要动态生成内容。ejs 的语法简单易懂,类似于普通的HTML标记,但可以使用<%= %>标签来插入JavaScript代码,<% %>标签来执行JavaScript代码,以及<%- %>标签来插入未经转义的HTML内容。这使得ejs非常灵活,可以方便地处理各种动态
简介Node Version Manager(NVM)是一个常用的 Node.js 版本管理工具,可用于在开发过程中方便地切换不同版本的 Node.js。通过 NVM,用户可以根据项目需求选择不同的 Node.js 版本,而无需手动安装和卸载多个版本的 Node.js。安装注意:为了避免版本冲突和环境混乱,在安装 nvm 之前先卸载之前安装的 Node.js。删除 node.js 相关的目录。查看 C:\Users\用户名 目录下是否拥有 .npmrc、.yarnrc 等都要进行删除。查看环境变量中是否拥有关于 node.js 相关的配置也要进行相应的删除。nvm 下载地址1. 选择 nvm 安装路径2. 选择 node.js 安装路径3. 之后就是一直 next4. 检测是否安装成功通过 nvm version 命令查看版本号nvm version配置安装 node1. 查看可安装 node 版本nvm list available2. 安装相应的 node 版本nvm install xx.xx.xx3. 查看已安装 node 版本nvm list目前已经安装了指定版本的 node
通过 nodemailer 模块来实现发送邮箱安装:npm install nodemailer创建SMTP客户端配置const nodemailer = require("nodemailer") const config = { host: "smtp.qq.com", // QQ邮箱 // smtp.163.com // 163邮箱 port: 465, // 端口 auth: { // 发件人邮箱账号 user: "xxxxx@qq.com", // 发件人邮箱授权码,需要去QQ邮箱中申请 pass: "xxxxx" } } const transporter = nodemailer.createTransport(config)发送邮箱const mail = { // 发件人邮箱,格式:"昵称<发件人邮箱>" from: "mmm<xxxxx@qq.com>",
a
不过是些许风霜罢了