在做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 <version>3. 查看已安装 node 版本nvm list目前已经安装
通过 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
不过是些许风霜罢了