Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer 如何在IE浏览器插件中记录实时流_Internet Explorer_Activex_Uac_Protected Mode - Fatal编程技术网

Internet explorer 如何在IE浏览器插件中记录实时流

Internet explorer 如何在IE浏览器插件中记录实时流,internet-explorer,activex,uac,protected-mode,Internet Explorer,Activex,Uac,Protected Mode,我正在为Win7/Win10/Vista编写一个IE插件(32位ActiveX dll),用于记录来自一个或多个远程IP摄像头的数据 由于以下原因,无法成功录制到某些目标目录(主要在NTFS分区和/或USB设备上) fopen_s(&fp, filename, "wb") == EACCES GetLastError()==ERROR_FILE_NOT_FOUND or ERROR_ACCESS_DENIED. 实际上,目标目录下没有这样的文件。 禁用IE(11)中的“保护模式”,就不

我正在为Win7/Win10/Vista编写一个IE插件(32位ActiveX dll),用于记录来自一个或多个远程IP摄像头的数据

由于以下原因,无法成功录制到某些目标目录(主要在NTFS分区和/或USB设备上)

fopen_s(&fp, filename, "wb") == EACCES
GetLastError()==ERROR_FILE_NOT_FOUND or ERROR_ACCESS_DENIED.
实际上,目标目录下没有这样的文件。 禁用IE(11)中的“保护模式”,就不会有这样的问题

我读过这篇文章

这篇文章呢

Windows Vista应用程序开发对用户帐户控制兼容性的要求

但我仍有以下要求:

  • 该插件保存实时流。首先保存到临时目录,然后复制到目标directoy,这对用户不友好
  • 该插件通过按网页按钮保存快照,不想每次都提示恼人的“SaveAs”对话框
  • 由于IP摄像机是DHCP加密的,我不能简单地将其IP添加到“本地intranet区域”以避免“受保护模式” 因为插件有一个安装程序,它被授予管理员权限。可以在安装过程中进行任何修改


    有没有办法解决这个问题?或者由于安全问题,要求无效?

    此处您只有两种选择:

    1) 您可以写入控件具有权限的位置,例如AppData/LocalLow

    2) 您可以启动另一个.exe文件,该文件已被赋予一个允许它在中等完整性模式下从低完整性进程启动并进行保存的权限。它仍将限于用户帐户可以写入的地方

    第一个是目前为止最简单的,但正如您所说,它有时会导致不太理想的保存位置。第二个是更多的工作,需要跨进程通信,并确保正确清理进程,但它允许您注册

    从:

    举例来说,下面的策略会将虚构的代理contoso.exe悄悄地提升到中等完整性级别

    HKEY_LOCAL_MACHINE
    SOFTWARE
    Microsoft
    Internet Explorer
    Low Rights
    ElevationPolicy
    {0002df01-0000-0000-c000-000000000046}
    AppName="Contoso.exe"
    AppPath="C:\%USERPROFILE%\Application Data\Contoso"
    Policy=(DWORD) 00000003
    
    注意:出于安全原因,处于保护模式的Internet Explorer会忽略更改createProcess、createProcessAsUser和相关函数的工作目录的参数。如果进程必须接受工作目录参数,请使用逻辑异或操作将
    0x80000
    添加到应用程序提升策略的策略设置值中。请注意,这可能会造成安全风险;因此,强烈反对这种做法

    如果Microsoft确定某个应用程序存在漏洞并对最终用户造成威胁,则Microsoft保留随时从提升策略中删除该应用程序的权利

    您还可以创建代理进程来访问高完整性对象。有关描述如何以高完整性级别启动代理流程的信息,请参阅“开发人员最佳实践指南”中的“管理用户应用程序指南”一节,以及“最低特权环境中的应用程序指南”。请注意,您不需要创建提升策略,因为UAC将处理提升

    如果现有扩展使用rundll32.exe托管DLL库,则可以通过将库的文件名添加到以下键,以静默方式启动完整性较低的rundll32.exe进程