Javascript 大量使用易受黑客攻击的jQuery?

Javascript 大量使用易受黑客攻击的jQuery?,javascript,c#,jquery,Javascript,C#,Jquery,我有一个站点,它可以执行各种ajax请求,以各种方式操纵DOM,并在页面上存储一些(有限的)用户数据。一切进展顺利 然而,我越来越担心,因为网站的大部分代码都是客户端可见的,所以我很容易受到黑客攻击。我能做些什么来探讨这个话题吗?“雇佣黑客?”在线清单?一定要避免的事情?如果您正确设计网站,使用Ajax本身不会使您的网站容易受到javascript注入的攻击。以下准则适用于ajax和非ajax体系结构 您应该确保对服务器进行的ajax调用只传递返回适当结果所需的参数。您的应用程序逻辑(SQL查询

我有一个站点,它可以执行各种ajax请求,以各种方式操纵DOM,并在页面上存储一些(有限的)用户数据。一切进展顺利


然而,我越来越担心,因为网站的大部分代码都是客户端可见的,所以我很容易受到黑客攻击。我能做些什么来探讨这个话题吗?“雇佣黑客?”在线清单?一定要避免的事情?

如果您正确设计网站,使用Ajax本身不会使您的网站容易受到javascript注入的攻击。以下准则适用于ajax和非ajax体系结构

  • 您应该确保对服务器进行的ajax调用只传递返回适当结果所需的参数。您的应用程序逻辑(SQL查询、可用于推断您在服务器端执行的操作的配置、密钥等)应该仍然存在于服务器上
  • 在允许服务器执行任何操作之前,您应该清理传递到任何服务的任何数据,以确保它是您期望的数据类型
  • 如果您需要访问控制,在处理请求之前,请确保此人就是他们所说的人。实现这一点的一种方法是,当用户最初提供其凭据时,将唯一的访问令牌返回给用户。然后,他们必须使用该访问令牌发出所有后续请求。有关类似策略的示例,请参见OAuth 2.0
  • 您应该确保在静止状态下保存的所有敏感数据(在数据库、文件系统等中)都是加密的。您应该尽量限制在应用程序内存中存储敏感数据的时间
  • 如果您的网站处理敏感数据,请确保您通过SSL(https)发出所有请求。这确保了它在从客户端到服务器的过程中被加密,反之亦然
  • 在将javascript出售给客户机之前,您可以对其进行模糊处理(通常与缩小器一起提供)。这使得黑客更难确定你的逻辑。任何聪明/专心致志的黑客可能仍能理解你的逻辑,但这会使你的网站成为一个稍微困难一些的目标

  • “越来越担心,因为网站的大部分代码都是客户端可查看的,所以我很容易受到攻击”?“易受攻击”什么?我非常乐意看看你的网站并帮你破解:)@user111222333一个提示:你也必须在服务器端进行所有类型的验证,所以用户输入总是你想要的。@user111222333,这类似于错误的观点,即开源软件比专有软件更容易被黑客攻击。因为黑客可以看到代码。要么你的代码是安全的,要么不是。教训:无论人们是否能看到代码的实现方式,都要确保代码的安全。缩小代码对安全没有任何作用。用谷歌搜索和使用一个除雾器需要几秒钟。@Pikamander2-我同意,因此我的陈述的第二部分。为了理解代码,您仍然可能需要费力地处理一大堆名称不正确的变量。排雷人员只能做这么多。看这里:我应该更清楚我的意思是模糊而不是简单的缩小。编辑。@JK-人们通常不知道什么是正确的问题。我也不同意这种看法。如果你回答他们,也许他们问的下一个问题会更好。@user111222333请注意,正如尤达所暗示的,最后一个问题,虽然听起来和你要找的完全一样,但提供的安全性很低,甚至没有实际的安全性。如果您在没有正确处理其他方法的情况下实施该方法,您肯定会面临风险。让我们抬起头来