【问题标题】:How to protect sensitive data when using jQuery, AJAX and web services使用 jQuery、AJAX 和 Web 服务时如何保护敏感数据
【发布时间】:2013-06-09 09:28:58
【问题描述】:

我们有一个非常独特的数据库,我们已经将它放在一起超过 12 个月,我想知道在使用 Web 服务和 AJAX 时保护这些数据的常用技术和流程是什么。

我们将 .NET 4.0、jQuery 1.6 和 C# 用于 Web 服务。

我想知道保护您的代码和数据库不被窃取数据的最佳技术是什么。

1.如何确保数据库仅对来自我们页面的请求回复记录?

  • 是否可以阻止来自外部 JS 和 Ajax 请求的请求?
  • 我们是否需要使用带有密钥的哈希生成一些会话,所以只有我们知道哈希是否有效
  • 我们需要阻止机器人遍历 html 过滤器组合中的所有<select>,我们负担不起有人开发自动读取所有组合并将结果保存到数据库的机器人

2。缩小和混淆 JS 代码的最佳方法是什么,以使其尽可能难以被其他人解码?

谢谢。

【问题讨论】:

    标签: ajax web-services protection


    【解决方案1】:
    1. 如何确保数据库只回复记录 来自我们页面的请求?

    是否可以阻止来自外部 JS 和 Ajax 请求的请求?

    是的,看看request referrer (Request.URLReferrer.Host.ToString)。如果不是您的页面,请不要接受请求。

    我们是否需要使用带有密钥的哈希生成一些会话,所以只有 我们知道哈希是否有效

    这没什么坏处。使用 cookie 更容易。没有 cookie = 重定向到登录页面。无论如何,cookie 值是一个随机键。

    我们需要阻止机器人浏览所有的 html 过滤器组合,我们买不起人来开发机器人 将自动读取所有组合并将结果保存到数据库

    把这个放在登录后面。不过,这并不能阻止使用机器人和登录的人。

    缩小和混淆 JS 代码的最佳方法是什么? 尽可能让其他人难以解码?

    这样做没有意义。这一切都必须被解码才能执行,并且执行此操作的代码需要包含在您的代码中。

    一般来说:如果您不想让别人窃取它,请不要将其放在 WWW 上。

    【讨论】:

      【解决方案2】:

      我不确定 referrer 或 cookie 是否可以保护您免受复杂的机器人攻击 (http referrer spoofingmore info),我可能会使用 ajax 添加 cross domain querying

      我会说

      • 为您的网站添加身份验证 (spring security)
      • 您也可以在您的网络服务上添加end point security
      • 我在我的一个项目上做了一些事情,比如使令牌过期,当用户进行身份验证时,用户会得到一个在特定时间过期的令牌

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-02-13
        • 2014-07-14
        • 1970-01-01
        • 2016-11-18
        • 2012-02-16
        • 2014-12-14
        • 1970-01-01
        相关资源
        最近更新 更多