文章前言 有时候我们在做渗透测试的时候会发现目标网站允许上传PDF文件,同时支持在线预览PDF文件,然而不少类似的网站都会直接通过调用系统IE浏览器来解析PDF,此时如果我们在PDF中插入可以执行的恶意...XSS代码,当用户在线预览时即可触发恶意XSS并窃取用户Cookie等数据信息或进行恶意操作,本篇文章我们主要介绍如何在PDF中构造恶意XSS代码并通过上传PDF来实现XSS攻击 构造流程 Step 1...:下载安装"迅捷PDF编辑器" Step 2:创建PDF文件 Step 2:单击左侧的"页面"标签,选择与之对应的页面缩略图,然后从选项下拉菜单中选择"页面属性"命令 Step 3:在“页面属性...文件嵌入到网页中并试运行 </...pdf,不用chrome自带的pdf解析就行,https://github.com/adobe-type-tools/cmap-resources
最近很多小伙伴问我要一些 GitHub 相关的资料,于是我翻箱倒柜,找到了这本非常经典的电子书——《GitHub入门与实践》。...资料介绍 《GitHub入门与实践》从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。...在讲解GitHub的代表功能Pull Request时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request并共同维护。 ? 如何获取?
一、背景 开发工作中,需要实现网页生成 PDF 的功能,生成的 PDF 需上传至服务端,将 PDF 地址作为参数请求外部接口,这个转换过程及转换后的 PDF 不需要在前端展示给用户。...指定路径,生成pdf— 上述指定的页面加载完成后,将该页面生成 PDF。..., key) await page.pdf({ path: _path, format: 'a4' }) path 表示将 PDF 保存到的文件路径,如果未提供路径,PDF 将不会保存至磁盘。...CSS 打印样式— 根据官网[3]说明,page.pdf() 生成 PDF 文件的样式是通过 print css media 指定的,因此可以通过 css 来修改生成的 PDF 的样式,以本文需求为例,...官网有给 Docker 配置说明[4]可以参考,最终实践可用的 ubuntu 系统的 Dockerfile 如下: # ...省略...
翻译:疯狂的技术宅 原文:https://blog.risingstack.com/pdf-from-html-node-js-puppeteer/ 在本文中,我将展示如何使用 Node.js、Puppeteer...方案1:从 DOM 制作屏幕截图 方案2:仅使用 PDF 库 最终方案3:Node.js、Puppeteer 和 Headless Chrome 样式控制 将文件发送到客户端并保存 在 Docker...最终方案3:基于 Node.js 的 Puppeteer 和 Headless Chrome 什么是 Puppeteer?...它本质上是一个可以从 Node.js 运行的浏览器。如果你读过它的文档,其中首先提到的就是你可以用 Puppeteer 来生成页面的截图和PDF。优秀!这正是我们想要的。...之后,我们将 PDF 保存为变量,关闭浏览器并返回 PDF。 注意:page.pdf 方法接收 options 对象,你可以使用 'path' 选项将文件保存到磁盘。
最近 Node.js 团队在官方文档上公布了一份最新的安全实践,解读了一些 Node.js 服务下一些常见的攻击场景以及预防手段,我们一起来看看吧!...恶意第三方模块 目前,在 Node.js 中,任何包都可以访问网络、文件系统,他们可以将任何数据发送到任何地方。...由于这种攻击产生的根本原因是 Node.js 与另一个 HTTP 服务器解释 HTTP 请求的方式不同,我们可以认为它是 Node.js、前端服务器两者的漏洞 。...如果 Node.js 解释请求的方式是符合 HTTP 规范(https://datatracker.ietf.org/doc/html/rfc7230#section-3)的,那么它就不被认为是 Node.js...缓解措施 使用反向代理接收请求并将请求转发到 Node.js 应用程序。
日志记录是每个开发人员从第一天编写代码时就要做的事情,但很少有人知道它可以产生的价值和最佳实践。 在本文中,我们将讨论以下主题: 什么是日志,为什么很重要性?...当你启动 Node.js 服务器时,如果数据库由于某些问题而没有运行,或服务器端口已经被占用时,如果没有日志,你将永远不知道服务器失败的原因。...最佳实践 1)日志的三个重要部分 程序日志既适用于人类,也适用于机器。人类参考日志来调试问题,机器用日志生成各种图表,并通过数据分析来产生关于客户使用的各种结论。...在 Node.Js 中,控制台的实现方式与浏览器不同,控制台模块在使用 console.log 时会在 stdout 中打印消息,如果使用 console.error 它将打印到 stderr。...如果你当前还没有很好的使用日志,请实施日志记录实践并将日志添加到代码审查核对表中。
在这个指南中,我列出了在各个重点领域的最佳实践,都是与 CLI 工具交互最理想的用户体验。 1 命令行的经验 本节将会介绍创建美观且高可用的 Node.js 命令行工具相关的最佳实践。...CLI 工具的最佳实践。...3 通用性 本节将介绍使 Node.js CLI 与其他命令行工具无缝集成有关的最佳实践,并遵循 CLI 正常运行的约定。 本节将回答以下问题: 我可以导出 CLI 的输出以便于分析吗?...4.3 Node.js 版本兼容 ✅ 正确: 支持目前还在维护的 Node.js 版本 。 ❌ 错误: 试图与不受支持的Node.js版本保持兼容的代码库将很难维护,并且会失去使用语言新特性的有点。.../usr/bin/env node 作为最佳实践,但是这仍然假设 Node.js runtime 是被 bin/node 引用,而不是 bin/nodejs 或其他。
本文作者:IMWeb zzbozheng 原文出处:IMWeb社区 未经同意,禁止转载 Node.js ORM 框架 sequelize 实践 最近在做积木系统2.0,这次使用的nodejs
本文作者:ivweb 程柳锋 导语 通常而言,Node.js的应用场景有前后端分离、海量web页面渲染服务、命令行工具和桌面端应用等等。...本篇文章选取CLI(Command Line Tools)子领域,来谈谈Node.js编写CLI的实践,让CLI切实解决实际工程问题。 Why Node.js?...常用的用来编写CLI的语言有 python, ruby, perl, Node.js等等。 为什么选取Node.js作为CLI的语言编写工具呢?...看个demo 注: 此处的Logo使用的是figlet这个npm包, demo地址 npm关联CLI的基本原理 如何让Node.js编写的包可执行?...命令行帮助命令封装 inquire 强大的用户交互 chalk 让命令行的output带有颜色 easytable 表格信息展示,用于升级包的提示 minimlist 用户输入的参数解析 shelljs Node.js
一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。...'这是Node.js版本' '//入口文件使用了两个路由器路由,分别处理get和post请求逻辑。...(Node.js的后端核心) const { Router } = require('express'); const express = require('express'); const model
一、概述 4月21日,有赞举办了第一届“有赞技术开发日”的活动,我作为分享讲师,分享了有赞最近一年在 Node 这一块的实践经验。...更多 Node.js 企业实践可以在公众号 “精选文章” -> “Node.js” -> “实践” 进行查看。
通过将 BFF 构建于 serverless 之上,将人工智能实验室(天猫精灵)数十个中后台应用整合到了一个统一入口。用云函数的方式取代了传统基于 NodeJS...
下面会分别介绍如何应用 Redis 提供的 EVAL、EVALSHA 两个命令来实现对 Lua 脚本的应用,同时介绍一些在 Node.js 中该如何去应用 Redis 的 Lua 脚本。...EVAL Redis 控制台实践 按照上面命令格式,写一个实例如下,通过 KEYS[] 数组的形式访问 ARGV[],这里下标是以 1 开始,KEYS[1] 对应的键名为 name1,ARGV[2] 对应的值为...KEYS[1], ARGV[2]); redis.pcall('SET', KEYS[2], ARGV[3])" 2 name1 name2 val1 val2 val3 (nil) EVAL 在 Node.js...EVALSHA Redis 控制台实践 载入脚本缓存 127.0.0.1:6379> SCRIPT LOAD "redis.pcall('SET', KEYS[1], ARGV[2]);" "2a3b189808b36be907e26dab7ddcd8428dcd1bc8...中加载 Lua 脚本文件 和上面 Node.js 中应用 Lua 差别不大,多了一步,通过 fs 模块先读取 Lua 脚本文件,在通过 eval 或者 evalsha 执行。
“Node.js Best Practices” 目前是 Node.js 社区中最大的最佳实践合集,在 Github 已拥有 91.5k star,支持多个国家语言。...年版的 Node.js 最佳实践已发布,包含:ESM、EventTarget 等新技术的新实践;2023 年推荐的库;可以浏览 #new 或 #updated 标签以获取新内容。...基于 “Node.js 最佳实践” 存储库,产生了一个 NPM 库 Practica.js,根据你选择的 Node.js 框架(支持的为 Express、Fastify、Nest.js)、数据库,该项目会生成一个包含最佳实践且简单的...Node.js 应用程序,来演示从 API 到数据库的完整微服务流程。...这还是挺有意思的,以前我们可能会觉得这些内容很散,现在我们可以看看基于这些最佳实践整合的项目是怎么样的,通过下面的命令来体验下吧!
0.4) pdf_add_watermark('mysql.pdf', 'mysql【带水印】.pdf', watermark=watermark) 然后就可以得到一个全部是水印的PDF文件:...批量添加文字水印 不管是添加文字水印还是图片水印,我们都需要相应的水印PDF与需要添加水印的pdf进行图层合并。...虽然我们自己生成的水印PDF无法轻易被删除,但最近我确实看到不少可以轻松删除文字水印的PDF。...例如这个PDF文件: import PyPDF2 pdf_path = "工行结算卡流水.pdf" reader = PyPDF2.PdfReader(pdf_path) page = reader.pages...3个对象的内容: import PyPDF2 pdf_path = "工行结算卡流水.pdf" output_path = "工行结算卡流水【去水印】.pdf" writer = PyPDF2.PdfWriter
这段时间分享了很多大块文章,什么【项目管理的4个方法】【管理笔记的6个基本逻辑】【旅行场景的N个实践】什么的,着实乏味难啃。...比如,你可以直接在Obsidian的标签页中,打开并浏览PDF文件;以及,你可以在PDF文本和Obsidian笔记之间,建立链接——就像给PDF文件添加批注一样。...具体的方法是: 【1】将PDF文件添加至Obsidian库。 【2】在Obsidian标签页打开PDF文件。 【3】在PDF文件上选中一段文本。...【6】点击链接,即可跳转到指定PDF文件的指定位置。 当然,这里有一个限制条件需要说明:PDF文件的文本必须可以拾取;那种由图书扫描得到的PDF文件(本质是图片)则不适用。...相关文章:#Obsidian实践
Node.js 实践 为什么 Node 没有大规模使用呢?...我总结了大概的原因: 一些前端开发,只关注浏览器端,服务器端开发关注很少,或者根本就不关注 ; 认为 Node.js 只适合开发一些工具类的功能,对于后端开发是个玩具 ; Node.js 的生态不如其他后端语言生态健全...Node.js 到底能解决我们哪些的问题和痛点呢?...最后,Node.js 可提供一些服务,不仅能让我们使用,还可以对外使用,如 RESTful API,这样就不用有求于后端了。...React SSR 实践: 这是大致的结构: ? ? 这里我们没有使用高大上的技术,只是简单使用了 Redux ,原因有两个。一方面,学习成本底,不管对于新同学还是老同学,都能快速上手。
我们也从最初用Node.js来完成前后端的架构分离到最近使用GraphQL来做微服务,机票部门在Node.js的应用探索上越走越宽。 一、前后端分离 ?...在机票H5实践前后端分离过程中,我们改进了技术架构,在前端的应用层,采用PM2+Node.js(8.9.4)+Express(4.0)框架,内部基于携程基础框架ctriputil,同时对一些常用功能的封装...二、Node.js与restfulAPI ?...经过了前面用Node.js进行标准的restfulAPI开发尝试,有越来越多Node.js实现的接口上线,整个前台的架构如下: ?...Node.js在机票团队从早期的前后端分离到GraphQL的实践,目前已经深度应用到前端组的各个模块,现在机票前端应用层已全部采用Node.js来实现。
我们也从最初用Node.js来完成前后端的架构分离到最近使用GraphQL来做微服务,机票部门在Node.js的应用探索上越走越宽。...在机票H5实践前后端分离过程中,我们改进了技术架构,在前端的应用层,采用PM2+Node.js(8.9.4)+Express(4.0)框架,内部基于携程基础框架ctriputil,同时对一些常用功能的封装...二、Node.js与restfulAPI 在采用Node.js来完成前后端分离后,整个前台的架构分为三大块,一个是以浏览器渲染为主的客户端,二是Node.js为主的应用端,三是前台的数据聚合层,在前台的数据聚合层采用...三、RestfulAPI->GraphQL 经过了前面用Node.js进行标准的restfulAPI开发尝试,有越来越多Node.js实现的接口上线,整个前台的架构如下: ?...四、总结 Node.js在机票团队从早期的前后端分离到GraphQL的实践,目前已经深度应用到前端组的各个模块,现在机票前端应用层已全部采用Node.js来实现。
领取专属 10元无门槛券
手把手带您无忧上云