node.js - Nodejs fs.writeFile 安全吗?

标签 node.js fs

我正在运行一个 Node.js 服务器。我正在将 websocket 请求记录到文件中。您在调用 fs.writeFile 之前是否需要清理请求?或者直接写请求是否安全?

var fs = require('fs');
fs.writeFile("somefile", websocketrequeststring, somecallback);

最佳答案

不需要清理 fs.writeFile 的任何内容,websocketrequeststring 绝对可以是任何内容而不会引起任何问题,并且可以说,不要操纵该数据很重要,因为您可能需要不改变它来进行调试。唯一的考虑是确保您有某种日志保留/轮换计划,这样您就不会耗尽磁盘空间。

一般来说,您永远不应该“清理”输出,但您应该始终使用适当的策略转义输出。在 fs.writeFile 的情况下,没有具有特殊含义的字符序列,所有内容都按原样写入文件,因此不需要转义。如果您后来决定创建一个管理门户,您可以在浏览器中查看这些日志,那么您可能会遇到需要转义的情况。如果您读取该文件然后将其输出到数据库,则此时需要适当的转义。如果您读取文件并将其输出到浏览器,则需要适当的转义,这取决于它是输出为 HTML 还是 JavaScript。

清理和验证(而不是转义)应该直接使用输入完成,但您可能仍然希望记录未经清理的输入。

关于node.js - Nodejs fs.writeFile 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48449026/

相关文章:

javascript - 返回node.js中的目录(fs.readFileSync)

node.js - NodeJS Sequelize 制作主表降序示例

angularjs - 如何使用 Angular js 和 Node.js 通过动态生成的字段将数据发布到 mongodb

javascript - 在 Node.js 中向 Angular.js 发送响应

javascript - fs.watch 事件和 websockets,捕捉 "no-change"情况

node.js - fs.createWriteStream 重新启动在 PM2 上运行的应用程序

Linux 文件系统嵌套和系统调用 Hook

node.js - 为什么某些包在 Angular 2 安装中不移至供应商文件夹中

node.js - 在 Hero Card 机器人框架中提及用户 (node js)

javascript - fs.writeFileSync 写入空白文件