用aspx?id=x的方式安全吗?其它用户可能利用这种方式对别的用户的数据进行非法操作吗?还是用session的方式安全?
session的方式是不是比较耗费服务器资源?如何安全的传递参数呢?

解决方案 »

  1.   

    请问有什么好的检查过滤的方法吗?
    session本身不具备这个功能吗?
    比如用户a进行删除自己帖子的操作,用户b即使有相同的链接应该也不会删除用户a的帖子吧?
      

  2.   

    用aspx?id=x没事阿
    有安全认证的再另加session也行
    方便
      

  3.   

    TO: yanghongzhi0(yang)
    不会出现下面的问题吧?
    比如用户a进行删除自己帖子的操作,用户b即使有相同的链接应该也不会删除用户a的帖子吧?
      

  4.   

    TO:gxboy(Blin 小学生学.NET)
    那就是说采用aspx?deleteid=x用户b用用户a删除帖子的链接也不会删除用户a的数据了,对吗?session方法的安全性如何?是不是更安全些?
      

  5.   

    1、URL方式  URL方式是实现Web间数据传递最基本的方法,操作简单,可很方便地实现不同Web页面间的数据传递,但其安全性比较差。将要传递的数据附加在网页地址(URL)后面进行传递。如http://www.cstvu.com/testweb?username=liming,其中?后面所跟着的字符串便是传递的数据,=前的是变量名,=后面是数值,可以使用request对象来获取传递的数据。如:request(“username”)。这种方法在传递数据过程中其数据内容在URL栏中是显示的,用户能看到提交的内容。  2、form方式  通过在网页上制作表单交互区域,用户在浏览器端输入数据,然后通过form提交到服务器,在提交后的接受form数据的页面里就可以接收到相应数据,即form的action页面中可以使用request对象来接收所传递的数据。  如:  发送页面:  <form name=“formtest” action=“targetweb.asp”>     <input name=“testtext” type=“text” value=“”>     <input name=“testbutton” type =“submit”value =“提交”>    </form>  接收页面:request(“testtext”)  利用form页面的文本框来接收用户数据的输入,通过submit按钮提交后在targetweb页面中使用request来接收数据。  3、cookie方式  cookie是在浏览页面时Web服务器在浏览器端所写入的一些小文件,cookie是存放在浏览器端本机磁盘上,而不是存放在服务端的。可以在发送数据时写入cookie,接收时读取cookie完成数据在Web页面间的传送。  如:  发送页面:response.cookies(“cookiename”)(“username”)=“liming”  接收页面:request.cookie(“cookiename”)(“username”)  在发送页面中对cookie变量赋值,接收页面中取cookie变量的值就是所传递的数据。 
      4、application对象  application对象是用来记录整个网站信息的,是记录不同浏览器端共享的变量,无论有几个浏览者同时存取网页,都只会产生一个 application对象实例。用户可以通过定义application整站共享变量来实现网页间的数据传递。其定义方法是:application (“变量名”)=数值  如:application(“usrname”)=liming    application对象所定义的变量对于所有浏览端都是可见的,所以其使用场合是所有浏览端共享的全局数据传递。  5、session对象  session对象是用来记录浏览器端的变量,是个别浏览器端专用的变量,对于每一个浏览器访问时都会自动产生一个seseion对象,该对象提供一个存储场所,用来存储仅仅对该访问者在会话的活动期间打开的网页可用的变量和对象。这样就用可以用来在Web间传递专对单个浏览器端使用的数据。其定义方法:session(“变量名”)=数值  如:session(“usename”)=liming  session对象所定义的变量只是浏览器端的专用变量,所以适用于局部会话间的网页数据传递。
      上述介绍的是网页间数据传递的常用方法,各有千秋。其中URL方式和form方式实现方法简单,可实现网页间的简单数据传递,一般为字符串类型,其特点是安全性差,而且必须是连续访问两页面间数据传递。Cookie只能存放string类型的数据,如果想要存放更为复杂的数据类型,那么必须先将其转换为string类型。Application对象和Session对象操作相对复杂些,浏览量非常大的网页使用时应适量,而且使用结束后尽量清除,否则大量使用有可能会导致服务器的瘫痪。Session变量的安全性较高,可传递专用浏览端数据。具体应用决定了数据传递方式的选择,合理数据传递方式选择是Web页面的设计中的关键考虑因素。
      

  6.   

    web传值本来就不安全,需要你在服务器端加以验证数据的合法性! 单单是隐藏传值和客户端js验证都是不稳妥的方法。
      

  7.   

    非常感谢 Ring1981(孙) 
    看了下,综合安全性和效率
    我想使用session传参数我网站设计的访问量非常大,因此每次传递完成后都及时的remove那个变量,这样可以节约服务器资源吗?
      

  8.   

    可以考虑加密了的hidden 表单元素啊
      

  9.   

    我网站设计的访问量非常大,因此每次传递完成后都及时的remove那个变量,这样可以节约服务器资源吗?请问各位高手这个方法可行吗?