none
不显示删除回复显示所有回复显示星级回复显示得分回复 页面传值除了常见的几种方式,还有没有更好的保留会话状态的方法 RRS feed

  • 问题

  • asp.net 除了session cookie 隐藏文本框 地址传参 server.transfer 之外有没有更好的方式了 ?我现在做一个系统需要安全性比较好,session cookie 地址传参 这几个不能用  server.transfer 刚才试了一下 不知道性能好不好,有没有更好的方式呢?
    平和
    2009年7月2日 0:56

答案



  • hi,
       我来补充一下:
    1.cookie的安全级别最低。客户端可以截获破译、IE禁止了基本就不能使用了;
    2.URL也容易截获。但是传递的值简单,有长度限制。避免的方式是对URL传递的时候加密。;
    3.session,也有错中存储方式啊,IIS进程(服务器忙会丢失),服务外进程(效率高、不占用服务器内存),数据库(效率低,但是安全,数据可以持久化)。这个应该已经够了,
    4.就是使用数据库,A页面间传递的数据加密保存到数据库,B页面加载的时候读取数据;即可,效率低,但是可以配置高级别安全策略;
    5.写到服务器端文件,另外的页面读取,要考虑文件的共享和锁问题;
       多种策略,综合起来衡量一下了。如果是小的系统,单击部署,使用前几个方案。ERP等系统,安全需求是主要的,可以考虑后面的方案。个人意见,仅供参考~
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    • 已标记为答案 Weng Yuli 2009年7月8日 6:39
    2009年7月2日 10:12
    版主

全部回复

  • 你好 Server.Transfer按理说性能应该比Response.Redirect要好,因为它直接在服务器端就转向了 而无须回发到客户端然后再到服务器端

    如果需要很好的安全性 建议采用Https
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年7月2日 1:42
    版主
  • 你好,你的安全需求是什么,需要达到什么级别,使用Session,Cookie在一定程度上是安全的,地址传参也可以做到安全的。
    邹俊才
    2009年7月2日 1:52
    版主
  • A: Server.Transfer("A.aspx")  用request.form["控件名"]取上个页面控件的值
    B: postbackurl="A.aspx" 用findcontrol("控件名") 取上个页面控件的值

    A和B有什么区别呢?哪个性能更好一些呢?我查资料说是Server.Transfer比较节省服务器资源
    平和
    2009年7月2日 2:46
  • Server.Transfer 是基于服务器的方法,而 PostBackUrl 是基于客户端的。从这个意义上来讲,跨页面传送比 Server.Transfer 更加的便捷,有利于提高服务器的性能,减少了处理步骤。在ASP.NET 2.0中,跨页面传送显然是更好的选择。
    知识改变命运,奋斗成就人生!
    2009年7月2日 9:44
    版主


  • hi,
       我来补充一下:
    1.cookie的安全级别最低。客户端可以截获破译、IE禁止了基本就不能使用了;
    2.URL也容易截获。但是传递的值简单,有长度限制。避免的方式是对URL传递的时候加密。;
    3.session,也有错中存储方式啊,IIS进程(服务器忙会丢失),服务外进程(效率高、不占用服务器内存),数据库(效率低,但是安全,数据可以持久化)。这个应该已经够了,
    4.就是使用数据库,A页面间传递的数据加密保存到数据库,B页面加载的时候读取数据;即可,效率低,但是可以配置高级别安全策略;
    5.写到服务器端文件,另外的页面读取,要考虑文件的共享和锁问题;
       多种策略,综合起来衡量一下了。如果是小的系统,单击部署,使用前几个方案。ERP等系统,安全需求是主要的,可以考虑后面的方案。个人意见,仅供参考~
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    • 已标记为答案 Weng Yuli 2009年7月8日 6:39
    2009年7月2日 10:12
    版主
  • 你好,主要还是要从需求出发,没有一种技术可以解决全部的问题。
    邹俊才
    2009年7月2日 15:02
    版主
  • 楼主不要钻牛角尖了。。。
    国内有名的discut论坛采用的也是session和cooike的结合形式。
    如果需要安全性比较好的话可以采用自已定义的算法加密session和cooike就可以了。。
    抑或者大不了用https。。。。
    你说呢。
    难道你的项目比美国登月项目还要来的机密。呵呵。说大了~~~

    热销情侣/结婚礼物 北欧原木猫猫 欧式田园家居摆件 意大利缘分娃娃http://shop33905141.taobao.com
    2009年7月8日 2:45
  • 呵呵 谢谢大家 我的只是想尽可能的增强安全性,本来想采用 session会丢失,cookie会禁用,页面传来传去不方便,哎


    平和
    2009年7月8日 6:37
  • 有就是不传参。没一种代码是安全的。这要看你如何对待了。你如果给代码加密 。给JS加密,给参数加密。那也算安全了!
    2009年7月16日 14:45