如何在使用jQuery,AJAX和Web服务时保护敏感数据

时间:2011-09-08 19:33:51

标签: ajax web-services protection

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

我们正在使用.NET 4.0,jQuery 1.6和C#进行Web服务。

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

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

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

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

谢谢。

2 个答案:

答案 0 :(得分:2)

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

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

是的,请查看request referrerRequest.URLReferrer.Host.ToString)。如果不是您的页面,请不要接受该请求。

  

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

没有坏处。使用cookie更容易。没有cookie =重定向到登录页面。无论如何,cookie值都是随机密钥。

  

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

将此信息置于登录后面。这并不能阻止有机器人和登录的人。

  

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

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

一般情况下:如果你不想让别人偷走它,请不要把它放在WWW上。

答案 1 :(得分:0)

我不确定引荐来源或Cookie 是否可以保护您免受复杂机器人的攻击(http referrer spoofing more info),我可能会将cross domain querying添加为ajax < / p>

我会说

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