JavaScript的安全问题

rexchou 2010-09-24 03:54:55
现在越来越多使用JS来完成页面逻辑。但是有几个问题一直不知道如何解决,请教一下网友:
JS的代码不管是src方式链接进来的,还是直接写在HTML上,都是可以被用户看到的。那么只能写非关键的逻辑和算法,这个没有疑问。但是有个问题,浏览器是有debug功能的,比如Firebug或者IE8的开发者工具。当他调试到关键语句的时候,直接在debug工具里修改了某些变量的值,使得某些验证或者逻辑被跳过,调试工具甚至可以直接运行js语句修改页面行为。
这些应该如何避免呢?如果无法避免,那么有哪些地方需要注意,使得这些行为的影响降到最低?
谢谢!
...全文
100 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MrSLin 2010-09-25
  • 打赏
  • 举报
回复
不管怎么说,服务端至少要做一个判断的工作,或者是过滤。
客户端到服务端的数据不可能都直接拿来用的。
rexchou 2010-09-25
  • 打赏
  • 举报
回复
准备结贴。
客户端不可信任,这个可以解决一部分问题。但是JS的大量使用是个问题啊。上几天通过debug看到了网易微薄传来传去的数据结构。。。。
昨天找到一本《Ajax Security》的书,很不错。哈哈
licip 2010-09-24
  • 打赏
  • 举报
回复
这应该是权限操作的问题吧。你应该在两端都做吧。客户端与服务器端。
zlcqupt 2010-09-24
  • 打赏
  • 举报
回复

孟子E章 2010-09-24
  • 打赏
  • 举报
回复
那没有办法的啊,业务应当尽量少的原来客户端的值,比如常见的删除新闻,一般都是传递要删除的id,但后台要验证当前用户是否有权限删除该id的新闻,而不是直接delete from table where id=x
如果页面是对所有用户开放的,则没有很好的办法吧
rexchou 2010-09-24
  • 打赏
  • 举报
回复
孟子老大现身了~~~哈哈
——————————
但是有些功能是必须从客户端输入的。比如IE有些API是狗日的ActiveX(不讨论是否应该用的问题),js产生结果后post到服务器端的。那怎么办呢
孟子E章 2010-09-24
  • 打赏
  • 举报
回复
客户端任何输入都是不可信的,即使不用js。
服务器端必须进行二次验证,

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧