比如我打开一个业面的url是abc.aspx?id=1101&pid=1023
如何防止别人修改址址栏里面的两个参数达到跳转页面的目的?

解决方案 »

  1.   

    看到好多网站都是加密的,例如Hotmail里面那么长串的
      

  2.   

    可以去下一个url 混淆器!
    如果自己水平过!完全可以自己写
    楼主的意思其实想防止sql的注入吧!
    去看看这方面的书
      

  3.   

    不让客户端  直接可以查看到 传值问题
    如 session  
      

  4.   

    如果需要登陆的  可以把用户ID 和当前URL 对应起来 放session里面
      

  5.   

    只要abc.aspx不变,该参数怎么会跳转页面?哈哈,笑话
      

  6.   

    用requst内部添加参数不要显示传参
      

  7.   

    如果他修改了参数,实现了不同的页面,那也只能是客户个人的事情或者你重写URL,就是把参数写成诸如/2007/11/05/abc.aspx之类的东西
      

  8.   

    要防止地址栏参数被改变的根本方式就是不使用地址栏参数参考goole中关于"asp.net 页面参数传递的方式"的查询
      

  9.   

    使用MD5加密,加密和验证的思路我给你说一下:
    例如客服端需要提交的地址参数和内容是
    http://www.xxxxx.com/a.asp?aaa=123&bbb=456&ccc=789
    string url;
    url="http://www.xxxxx.com/a.asp?aaa=123&bbb=456&ccc=789"
    上面的是提交的内容,你使用MD5加密上面的字符串
    string md5key=MD5(url);
    那么你在地址栏中提交的内容是
    http://www.xxxxx.com/a.asp?aaa=123&bbb=456&ccc=789&md5key=b9dd6c6f5ae3e6947b41495eb29ecb96
    在a.asp中接收到的aaa=123,bbb=456,ccc=789,与"http://www.xxxxx.com/a.asp?"连接成字符串(注意aaa,bbb,ccc的顺序不能变),然后在服务器端使用MD5加密,生成加密字符串md5key2
    如果md5key=md5key2说明aaa,bbb,ccc的参数没有被改变,显示正常的处理页面,否则参数就被修改了,转到错误页面
    参考alipay的支付接口
      

  10.   

    COOKIE,SESSION不显示。
    MD5加密。
    URL重写。我推荐用URL重写。
    abc.aspx?id=1101&pid=1023 把ID,PID改成复杂的字段,或者把abc.aspx改成超级复杂的文件名。然后把1101-1023.aspx重写到239msd23sd.aspx?id=1101&pid=1023