【问题标题】:Server side message data security服务器端消息数据安全
【发布时间】:2011-06-18 05:56:51
【问题描述】:

在服务器端清理作为查询字符串参数之一从客户端接收的消息内容的最佳方法是什么?此消息还意味着重新发送到其他连接的客户端,因此它在服务器或客户端的代码执行或注入(JavaScript 或 HTML)方面是安全的。

【问题讨论】:

  • 您的服务器端技术是什么? Javascript 是纯粹的客户端,所以服务器端的清理是用你在服务​​器端使用的任何编程语言完成的。示例服务器端语言是 PHP、Java 等
  • 他正在使用 node.js。 nodejs.org 不幸的是,我没有足够的知识来用服务器端技术回答他的问题。
  • 您究竟想通过清理数据来防止什么? SQL注入?跨站脚本?
  • 这完全取决于数据到底要做什么,通过什么协议重新发送等等。对此没有一般的答案。
  • @Matt Ball:防止XSS和服务器端代码执行(不知道在这种情况下是否可能,因为node.js是JS代码,您可以将恶意JS代码作为查询字符串参数发送到在服务器端执行)。

标签: javascript security node.js


【解决方案1】:

为了保护 node.js 免受 XSS 我从 sn-p jade 借来的:

/**
 * Escape the given string of `html`.
 *
 * @param {String} html
 * @return {String}
 * @api private
 */

function sanitize(html){
    return String(html)
        .replace(/&(?!\w+;)/g, '&')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')
        .replace(/"/g, '&quot;');
}

PS:您应该始终进行适当的服务器端过滤

【讨论】:

    【解决方案2】:

    您可以使用node-validator,它看起来是对 aboce sn-p 的更全面的解决方案。

    【讨论】:

      猜你喜欢
      • 2016-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 2014-06-19
      • 2012-08-19
      • 2014-10-26
      • 2010-10-27
      相关资源
      最近更新 更多