2014-09-24 35 views
1

我们,使一些东西代码:用户可以更改javascript关闭功能吗?

$(function(){ 

    //websocket connection 
    //ajax requests 
    //other stuff 

}); 

如果代码加载浏览器已经编译,所以可以在用户更改此代码,并改变了其代码重新加载页面?

因为这个匿名jquery函数内部的函数不能在浏览器控制台中执行,因此它们不可访问,问题是:是否有任何方法来破解这种类型的代码?

+1

用户可以只复制匿名函数,包括里面的代码,他控制台,并运行它。 – Cerbrus 2014-09-24 11:27:44

+1

使用Chrome的DevTools,用户*可以确实改变该函数并重新编译整个脚本。但是对于其他浏览器,它们仍然可以更改值等。 – MaxArt 2014-09-24 11:28:13

+0

一个人可以从浏览器控制台运行他想要的任何东西。不只是你的上面的代码。 :) – mithunsatheesh 2014-09-24 11:29:34

回答

2

用户可以将匿名函数(包括内部代码)复制到他的控制台,然后运行它。
基本上,任何和所有代码您发送到客户端可以被访问,修改和运行。

验证服务器端需要验证的任何内容。仅使用客户端验证来使您的应用程序“更漂亮”。

1

它可以很容易地复制到谷歌浏览器中的控制台,例如,从那里更改和解雇。用户可以在Source选项卡中轻松查看该脚本。所以是的,这是可能的。 所以,如果它的功能,用户不能看到我建议不要在客户端使用JavaScript或任何脚本语言。

0

我不知道你的问题有什么特别,但有几个建议。

  • 不要信任用户,也不要信任来自客户端的东西。它可以很容易地操纵。 总是检查数据服务器端。检查字段是否是正确的类型,特别是在像PHP这样的语言中,从不使用整个POST数据,总是对其进行过滤。
  • 缩减大小代码并使用关闭这样你减少的变化,用户可以弄乱你的代码
  • 只授予该是他的责任的部分访问用户,如果他与你的代码弄乱这样只有他被损坏了。
  • 如果可以,请使用安全cookie和https。检查CSRF和XSS,并使用一些方法来保证这一点。

你无法避免,因为他讨好用户都会做,但你可以让他只能摸他的数据