• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > asp.net中穿透Session 0 隔离(一)

asp.net中穿透Session 0 隔离(一)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了session asp.net,asp.net,asp net培训,asp和asp.net的区别,零基础学asp.net等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Windows 服务在后台执行着各种各样任务,支持着我们日常的桌面操作。有时候可能需要服务与用户进行信息或界面交互操作,这种方式在XP 时代是没有问题的,但自从Vista 开始你会发现这种方式似乎已不起作用。

Session 0 隔离实验
下面来做一个名叫AlertService 的服务,它的作用就是向用户发出一个提示对话框,我们看看这个服务在Windows 7 中会发生什么情况。

程序编译后通过Installutil 将其加载到系统服务中:

 

     在服务属性中勾选“Allow service to interact with desktop” ,这样可以使AlertService 与桌面用户进行交互。

在服务管理器中将AlertService 服务“启动”,这时任务栏中会闪动一个图标:

点击该图标会显示下面窗口,提示有个程序(AlertService)正在试图显示信息,是否需要浏览该信息:

flashmeg

     尝试点击“View the message”,便会显示下图界面(其实这个界面我已经不能从当前桌面操作截图了,是通过Virtual PC 截屏的,其原因请继续阅读)。注意观察可以发现下图的桌面背景已经不是Windows 7 默认的桌面背景了,说明AlertService 与桌面系统的Session 并不相同,这就是Session 0 隔离作用的结果。

Session 0 隔离原理

     在Windows XP、Windows Server 2003 或早期Windows 系统时代,当第一个用户登录系统后服务和应用程序是在同一个Session 中运行的。这就是Session 0 如下图所示:

     但是这种运行方式提高了系统安全风险,因为服务是通过提升了用户权限运行的,而应用程序往往是那些不具备管理员身份的普通用户运行的,其中的危险显而易见。

     从Vista 开始Session 0 中只包含系统服务,其他应用程序则通过分离的Session 运行,将服务与应用程序隔离提高系统的安全性。如下图所示:

     这样使得Session 0 与其他Session 之间无法进行交互,不能通过服务向桌面用户弹出信息窗口、UI 窗口等信息。这也就是为什么刚才我说那个图已经不能通过当前桌面进行截图了。

Session 检查

     在实际开发过程中,可以通过Process Explorer 检查服务或程序处于哪个Session,会不会遇到Session 0 隔离问题。我们在Services 中找到之前加载的AlertService 服务,右键属性查看其Session 状态。

可看到AlertService 处于Session 0 中:

再来看看Outlook 应用程序:

     很明显在Windows 7 中服务和应用程序是处于不同的Session,它们之间加隔了一个保护墙,在下篇文章中将介绍如何穿过这堵保护墙使服务与桌面用户进行交互操作。

Service 下载

作者:李敬然(Gnie)
出处:(http://www.cnblogs.com/gnielee/)

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp.net中安全退出时清空Session或Cookie的实例代码
  • 详解ASP.NET中Session的用法
  • ASP.NET在底层类库中获取Session C#类中获取Session 原创
  • asp.net基于session实现购物车的方法
  • ASP.NET中Session和Cache的区别总结
  • asp.net网站防恶意刷新的Cookies与Session解决方法
  • 实现Asp与Asp.Net共享Session的方法
  • ASP.NET 使用application与session对象写的简单聊天室程序
  • ASP.NET ASHX中获得Session的方法
  • ASP.NET中在一般处理程序中使用session的简单介绍

相关文章

  • 2017-05-11javascript判断是否有对RadioButtonList选项选择
  • 2017-05-11比较简单的将数据信息导入wrod文档方案(C# for word)
  • 2017-09-18aspx 按钮传值
  • 2017-05-11ASP.NET记住登陆用户名的具体实现
  • 2017-05-11asp.net 中国身份证号码验证代码 非正则
  • 2017-05-11asp.net下OnClientClick的妙用!
  • 2017-05-11ASP.NET实现推送文件到浏览器的方法
  • 2017-05-11ADO.NET 的最佳实践技巧
  • 2017-05-11关于HttpHandler与HttpModule的理解和应用方法
  • 2017-05-11asp.net TextBox控件设置ReadOnly后,不能回传。

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C# 获取当前星期几三种实现方法
    • asp.net 处理F5刷新页面重复提交页面的一个思路
    • 关于HttpHandler与HttpModule的理解和应用方法
    • dataGrid 多维表头、表头跨行跨列设计及绑定数据
    • .NET开发基础:从简单的例子理解泛型 分享
    • ASP.NET 2.0 中的创建母版页
    • asp.net下将页面内容导入到word模板中的方法
    • ASP.NET Core MVC 过滤器的使用方法介绍
    • ASP.NET利用MD.DLL转EXCEL具体实现
    • ASP.NET GridView 实现课程表显示(动态合并单元格)实现步骤

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有