javascript - 准备部署express js应用程序,我应该担心哪些安全问题?

标签 javascript node.js security backbone.js express

我以前从未部署过 Express 应用程序,坦率地说,我不熟悉开发人员在部署 Web 应用程序之前必须采取的一些安全预防措施。

1) 我的网站很简单,不需要用户登录
2) 我只在用户提交表单后才存储用户 IP
3)我使用 mongolab

我认为我没有实现任何安全系统,因为我主要遵循在线“基本”教程。我真的很感谢一些专家提供的一些提示和“必须做/必须 - 不 - 做”。

谢谢

最佳答案

只是为了让事情滚动:

  • 您需要在服务器端执行输入/表单验证以防止 SQL 注入(inject)(恶意 SQL 代码在数据存储上执行)。在您的情况下,您不使用 RDBMS,但仍然考虑将用户输入的值传递到 mongolab 世界时的假设。
  • 此外,在将用户输入的数据输出回 html 时执行输出清理,以防止 XSS(跨站脚本 - 当有人成功让您将有效的 JavaScript 输出到他可能会或可能不会查看的 html 页面上时)<

https://github.com/ctavan/express-validator似乎是一个很好的中间件,可以帮助您在服务器端进行表单验证。

其他一般安全注意事项:

  • 如果您要通过线路传递敏感信息,请考虑通过 https 进行。通过 http 以纯文本形式发送的密码容易受到中间人攻击。
  • 仅打开您需要的端口,并在可能的情况下过滤服务器的源流量。
  • DoS(拒绝服务)攻击是指过多的同时请求使您的服务器不堪重负,通常会导致服务器崩溃或对其他用户的有效请求没有响应。对于这个问题没有明确的解决方案。如果日志中的攻击源似乎是少数 IP,您可以阻止这些 IP。否则,如果僵尸网络精心策划的攻击对您不利,那么您正在谈论启发式算法来潜在地防止此类攻击。不过,这其实没什么问题,除非你是一个大目标或者惹错了人:)。

还有很多事情需要考虑,但不同的考虑因素可能取决于您的特定架构和需求。不想让您不知所措,但可以从服务器端验证开始,尤其是在像 JavaScript 这样的弱类型语言中。另外,请远离 eval()。

保留访问+错误日志,边学边学。

如果您想进一步深入了解当前的 Web 应用程序安全性,请从 OWASP Top 10 开始

关于javascript - 准备部署express js应用程序,我应该担心哪些安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26130799/

相关文章:

javascript - 选择要引用的文本后显示按钮

javascript - 更新折线图上的数据不起作用

node.js - 如何抑制shelljs中的错误?

javascript - 如何在异步函数中抛出异常?

java - Spring Controller 下载文件不受文件系统限制

c++ - 使用 ReadDirectoryChangesW 是否需要管理员权限?

javascript - 单击操作不适用于对话框

javascript - 在 JAVASCRIPT 中创建 UTC 日期对象

javascript - Puppeteer - page.$$ ('' ).length 返回未定义

amazon-web-services - 为什么堡垒主机更安全?