比如说别人的网站有会员修改内容    <form method="post" action="Edit.aspx">
        <input type="name" value="Jerry" />
        <input type="sex" value="male" />
        <input type="submit" value="提交" />
    </form>上面是一个修改会员的称妮和性别的页面,Edit.aspx接收到这些Post数据会读取当前登录会员的信息进行修改
然后现在我知道了他的Edit.aspx页面接收POST内容还有一个bonus(积分)字段
他Post到的页面Edit.aspx他里面已经限制了post过来的页面只能是他本网站
(因为我在本地做了以下数据进行Post)    <form method="post" action="Add.aspx">
        <input type="name" value="Jerry" />
        <input type="sex" value="male" />
        <input type="bonus" value="10000" />
        <input type="submit" value="提交" />
    </form>提交被拒绝,
那我现在有什么办法来提交我上面的这个Form来实现欺骗这个网站从而更新我的积分呢?谢谢PS:这里所说的(别人的网站,其实就是我自己的,只是不想让大家看的时候有点晕)
   其实我的功能是在一个页面做数据的接收并进行修改,但是如何来防止恶意的提交

解决方案 »

  1.   

    估计你是Post过去了
    但人家作此类操作之前肯定判断了当前Session及其权限了吧假若不判断的话,做一个这样的页面不是纯粹开放刷积分的接口?!谁这样做啊……
      

  2.   

    用HttpWebRequest来模拟POST提交, 请求时,设置一下Referer属性,伪造一个.
      

  3.   

    如果你想问那个页面如何防止恶意提交 可以做到
    想恶意提交修改数据  这没办法  (防止sql 注入的前提下)
      

  4.   

    设置Page.ViewStateUserKey 属性,防止出现跨站请求伪造攻击
    参数化
    使用LINQ等
      

  5.   

    如果是在登陆状态下操作,那还得模拟登陆,取到cookie或session.
      

  6.   

    你根本无法防止恶意提交。既然你使用如此开放、低门槛的web页面来是想,那么这就只是服务器端业务逻辑设计问题,为什么还要这样设计积分修改功能?
      

  7.   

    来是想  -->  来实现
    这时候,比较聪明的办法就是,赶紧取消这个bonus字段读取功能,不论前台如何提交后台都不去考虑它。
      

  8.   

    顶.
    Page.ViewStateUserKey会自动生成的.
      

  9.   

    但是如何来防止恶意的提交??
    若是这样方法就多了~~
    可以使用session记录提交 一段时间内不能重复提交
      

  10.   

    http://topic.csdn.net/u/20091211/14/1a546aa8-5dd1-498e-b029-c98df783899a.html
    转看第二贴