日期:2014-05-16  浏览次数:20464 次

编辑页面传值问题 如何保存传过来的值
A页面有个编辑链接:B.aspx?ID=5
B页面接收到这个值,我一般放在一个隐藏的<input id="txtID" runat="server" type="text"  />
然后后台更新的时候读取txtID的值,但是这样是不是不安全,但是担心前端有人F12改了txtID的值,
大家一般是怎么保存要编辑数据的ID的?
------解决方案--------------------
最好插入数据库的时候把ID加密,调用的时候再解密 这样用你的这个办法就可以 
------解决方案--------------------
我晕,难道不能直接使用 Request.QueryString["ID"]去获取这个值吗?
------解决方案--------------------
引用:
Quote: 引用:

我晕,难道不能直接使用 Request.QueryString["ID"]去获取这个值吗?
一开始是这么做的,但是担心提交的时候别人把URL里的ID参数改了在提交。是不是提交的时候获取到的ID是当前URL里ID,不是当初传过来的那个?

嗯,你担心的有道理,如果改了是不能链接到正确的地方,但是你在传参的时候可以把参数进行DES加密后再传递,这样别人就无法理解你传的是什么东西了,或者你写一个算法直接过滤
------解决方案--------------------
再给你支个招,可以再试试用隐藏域去保存这个值,这样即使F12也没办法去改变
------解决方案--------------------
我觉得把ID=5先放在别的地方然后再从那个方法取和直接从querystring取没有区别. 别人一样能修改querystring来达到修改id的目的
------解决方案--------------------
 <asp:HiddenField ID="ParamHid"  runat="server" />

获取的时候设置这个隐藏域的Value,就跟你设置TextBox一样
------解决方案--------------------
楼主可以把需要穿的值加密后再穿,这样就不怕别人改了啊
------解决方案--------------------
引用:
Quote: 引用:

我觉得把ID=5先放在别的地方然后再从那个方法取和直接从querystring取没有区别. 别人一样能修改querystring来达到修改id的目的
你们一般都是怎么处理的?求教

参考我4楼的回复,DES加密即可
------解决方案--------------------
加密 传值 再解密