日期:2014-05-19  浏览次数:20378 次

关于delete.aspx?id=X 的安全问题
我从一个页面给delete.aspx传过一个id,形式成了这样delete.aspx?id=1     这样我删除了数据库id为1的记录...相信大家应该都清楚...

这样我有一个问题,如果我直接在地址栏输入delete.aspx?id=3   这样也是会执行的啊.我不想这么做,那应该如何操作?

---------------------------------------

如何让他只接授上一级传过来的,而不接受手动添加的????   是要记录上一级传递时的地址吗> ?还是要怎么做???

------解决方案--------------------
检查request.urlrefer
------解决方案--------------------
两种做法,第一,判断来源路径,用Request.ServerVariables( "http_referer ")获得。
第二,在该页面做权限认证。
------解决方案--------------------
直接的还真不知道,也没有你那种的必要吧
变向实现一下,你看可以不
1.将id值加密,用时解密
2.地址重写
3.只要是get方式的,全部改成Server.Transfer
4.将id值用GUID生成
------解决方案--------------------
要有权限验证,判断上一个页面地址