原来的第一贴:
http://topic.csdn.net/u/20091211/13/e71f79df-bd21-4c41-af06-9c4f512d5af6.html
--------------------------------
其实是因为这样的,我有用户表
User
ID Name Bonus
1 Jerry 100
-----------------
我现在在写Ajax提交数据实现增删改功能,以下就以更新为例
我的设计是这样的,以下代码我都是简单写的,可能会存在语法的错误,但我想说明的问题应该清楚
UserEdit.aspx protected void Page_Load(object sender, EventArgs e)
{
//判断提交是否为当前网站提交数据
if (Request.UrlReferrer == null || Request.Url.Host != Request.UrlReferrer.Host)
{
throw new Tools.ExceptionMessage("服务器积极急拒绝提交请求");
}
//这里前面的贴子说可以伪造UrlReferrer 所以在考虑用IP来做确认是否为本站点 using (EDbOperator oo = new EDbOperator())
{
UserInfo info = com.Common.User.GetInfo(oo, Session["UserID"]); //这里取得当前登录用户的信息
if (Request.Form["name"] != null)
{
info.Name = Request.Form["name"];
}
if (Request.Form["bonus"] != null)
{
info.Bonus = Convert.ToDouble(Request.Form["bonus"]);
}
com.Common.User.Update(oo, info);//更新用户信息
}
}
}
然后页面 <form method="post" action="UserEdit.aspx">
<input type="name" value="Jerry" />
<input type="submit" value="提交" />
</form>问题
1:
上面是我网页中的一个修改会员称妮的地方,
但我如何防止被别人再提交多一个bonus修改了他的积分呢?
2:
有什么办法实现来伪造POST数据,更新我所登录的用户的积分谢谢
http://topic.csdn.net/u/20091211/13/e71f79df-bd21-4c41-af06-9c4f512d5af6.html
--------------------------------
其实是因为这样的,我有用户表
User
ID Name Bonus
1 Jerry 100
-----------------
我现在在写Ajax提交数据实现增删改功能,以下就以更新为例
我的设计是这样的,以下代码我都是简单写的,可能会存在语法的错误,但我想说明的问题应该清楚
UserEdit.aspx protected void Page_Load(object sender, EventArgs e)
{
//判断提交是否为当前网站提交数据
if (Request.UrlReferrer == null || Request.Url.Host != Request.UrlReferrer.Host)
{
throw new Tools.ExceptionMessage("服务器积极急拒绝提交请求");
}
//这里前面的贴子说可以伪造UrlReferrer 所以在考虑用IP来做确认是否为本站点 using (EDbOperator oo = new EDbOperator())
{
UserInfo info = com.Common.User.GetInfo(oo, Session["UserID"]); //这里取得当前登录用户的信息
if (Request.Form["name"] != null)
{
info.Name = Request.Form["name"];
}
if (Request.Form["bonus"] != null)
{
info.Bonus = Convert.ToDouble(Request.Form["bonus"]);
}
com.Common.User.Update(oo, info);//更新用户信息
}
}
}
然后页面 <form method="post" action="UserEdit.aspx">
<input type="name" value="Jerry" />
<input type="submit" value="提交" />
</form>问题
1:
上面是我网页中的一个修改会员称妮的地方,
但我如何防止被别人再提交多一个bonus修改了他的积分呢?
2:
有什么办法实现来伪造POST数据,更新我所登录的用户的积分谢谢
解决方案 »
- arrayList怎么取数组里的值?
- 如何在datagrid中使用下拉框(web页面的,form的不要)?
- Sql 高手指点?急!!!!!!!
- 谁有信息发布类的源码(一定要开源)
- 怎么把文本转换成十六进制的啊
- 有谁遇到过这种问题吗?(已經開啟一個與這個 Command 相關的 DataReader,必須先將它關閉)
- 一个关于XML的问题在线等解决就给分(急)
- ////////////////////OleDbDataAdapter更新数据源的问题!谢谢!
- 按钮取值时,ListBox的值怎么老是初始时的默认值,而不是当前值,好象我点按钮是有重新把本页登陆了一下
- 如何写一个用户控件
- 各位高手请帮忙给我看一下,asp 分栏显示内容如何对齐
- 散分(100)!!!
{
info.Bonus = Convert.ToDouble(Request.Form["bonus"]);
}----------------------
update 语句只更新昵称 即可阻止恶意提交
但比如我这里有更新
用户:名称,性别,年龄
而这时候我有两个Form <form method="post" action="UserEdit.aspx">
<input type="name" value="Jerry" />
<input type="submit" value="提交" />
</form>
<form method="post" action="UserEdit.aspx">
<input type="sex" value="男" />
<input type="submit" value="提交" />
</form>这个时候我要求
我的第一个form只提交修改 名称
我的第一个form只提交修改 性别
------------------------------
但是如何防止别人伪造一个Form提交如 <form method="post" action="UserEdit.aspx">
<input type="name" value="Jerry" />
<input type="sex" value="男" />
<input type="submit" value="提交" />
</form>谢谢
例如
<form method="post" action="UserEdit.aspx?id=“”">
<input type="name" value="Jerry" />
<input type="sex" value="男" />
<input type="submit" value="提交" />
</form>
可以加个唯一的标示
只有本用户才能提交修改本人的信息