浏览器调试工具修改控件的disabled属性,导致不可用控件可用了
页面上的textbox控件用来显示用户所在的公司信息,有的用户有权限修改,而有的用户无权限修改,在用户无权限改时将其值初始化并enabled掉,最后在页面上点保存按钮时这个textbox的值也会保存到数据库中。如果用户无修改权限,但在页面上使用浏览器调试工具将其disabled属性删除掉(enable反应到前台就是disabled了),那么用户就可以修改控件的值了,然后保存的时候textbox的值会回传到后台,导致将修改的值存入数据库,这就导致了bug。有谁能帮我想个解决方法出来啊,感激不尽!
浏览器
textbox
------解决方案--------------------Button btnTest = sender as Button;
if (!btnTest.Enabled)
return;
这种情况最好是直接隐藏按钮,设置visible=false;
------解决方案--------------------
所以你在后台cs或者.vb中也要判断用户是否有权限编辑啊。
------解决方案--------------------你干嘛不在数据保存的是进行身份验证呢,过来的数据不一定都是合法数据,要进行验证的。
------解决方案--------------------把不给改的项以label形式表现出来
------解决方案--------------------奇怪,我记得回过这个帖子啊。
1楼的方法也可以,在后台设置Visible属性为False,就不会Render出html控件,在浏览器中找不到textbox的。但是如果自己组装request的话,还是可以修改的。