最终用户(黑客)如何更改Jquery和HTML值?

m14*_*Grl 2 html javascript jquery

我一直在寻找更好的方法来保护我的网站.许多论坛和Q/A网站都说最终用户可能会更改jquery变量和HTML属性.他们如何做到这一点?如果他们可以更改站点上的数据和元素,他们也可以插入脚本吗?

例如,我有一个主页的2个jquery脚本.第一个是"仅限会员"的脚本,第二个是"仅限访客"的脚本.最终用户可以登录我的站点,复制"仅限会员"脚本,注销并注入脚本以便它作为访问者运行吗?

Mos*_*ses 9

是的,可以安全地假设客户端没有任何东西是安全的.使用Firebug for Firefox或Developer Tools for Chrome等工具,最终用户可以操作(添加,更改,删除):

  • 你的HTML
  • 你的CSS
  • 你的JS
  • 您的HTTP标头(发送到您的服务器的数据包)
  • 饼干

直接回答您的问题:如果您完全依赖JavaScript(并且很可能是cookie)来跟踪用户会话状态并向成员和访客提供不同的内容,那么我可以绝对肯定地说其他人绕过您的安全,并且这样做是微不足道的.

设计安全的应用程序并不容易,一场持久的战斗,需要数年才能完全掌握.黑客攻击应用程序非常简单,对整个家庭来说都很有趣,并且可以在20分钟内在YouTube上学习.

说了这么多,希望你在JS中包含的内容不是"任务关键型"或"敏感数据".如果是的话,我会认真考虑聘请一位精通安全的第三方开发人员来帮助你的成本.因为,正如我之前所说,创建一个真正安全的网站并不容易.

  • 拿走一课:假设每个用户都是恶意的,邪恶的人; 每一个输入,一个病毒; 和每一包,灾难.ಠ_ಠ (5认同)

Pau*_*aul 8

简答:是的.

用户可以查看和更改用户计算机上的任何内容,任何用户都可以编写自己的脚本以在页面上执行.

例如,如果您将此帖子粘贴到地址栏并点击此页面的输入,则会自动对此信息进行投票:

javascript: $('#answer-7061924 a.vote-up-off').click();
Run Code Online (Sandbox Code Playgroud)

这不是真正的黑客攻击,因为您是自己运行脚本的最终用户,只执行最终用户通常可以执行的操作.如果您允许站点上的最终用户以他们应该无法执行的方式执行影响服务器的操作,那么您就会遇到问题.例如,如果我有办法让Javascript自动执行,而不是你必须自己从地址栏运行它.来到这个页面的每个人都会自动提出这个答案(这显然是不受欢迎的行为).