haw*_*bsl 5 .net uac windows-7
有没有办法让应用程序在首次运行时只向用户显示一次UAC提示.此后,没有进一步的提示.
换句话说,我知道我们的应用程序需要用户的UAC权限才能执行某些操作.那没关系.但是我们不希望它在每次运行时都要继续询问.用户是否可以一直授予我们的应用程序权限?或者我所问的是否违反了UAC的基本原则?
我们正在使用.NET和Windows 7
Ian*_*oyd 13
你的问题的答案是:不,你不能这样做.
微软特别禁止这种行为.如果应用程序可以将自己添加到排除列表中,那么我们就会回到之前的混乱中.
您需要做的是使您的程序不需要管理访问权限.
问问自己:你在Windows XP上做了什么?
Windows XP没有UAC的说服力.用户以管理员身份运行程序的唯一方法是使用其他用户登录.这比单击"继续"更糟糕的用户体验.
如果您不想编写标准用户友好的软件,那么您就是问题的一部分.UAC不是问题,UAC很有意思.我可以关闭UAC,作为标准用户全职运行,您的软件仍然无法运行.
如果你有一个白名单,那么每个程序只会在安装时将自己添加到这样的列表中.
如果存在此类白名单,那么您的应用将成为恶意软件的目标.它会喜欢修改二进制文件来执行它想要的东西; 因为它知道该程序将被默默地提升.
恶意软件会喜欢用你的应用程序使用SendMessage,尝试传递无效的数据或结构,试图让你的管理应用程序执行它想要的代码.
如果用户可以选择禁用将来的程序提示,那么他们就会这样做,并且每个程序都将作为管理员运行,我们将回到原来的状态.
所有这些想法都没有解决问题:几乎没有程序实际上需要管理访问权限.
现在是时候迫使开发人员接受这个事实了.
有些人想要想办法让白名单工作.
有一个复选框,用户可以说,"不要再提示我输入此文件"
如果存储该文件名,则其他具有相同名称的程序将以管理员身份静默运行.
好的,然后我们将记录完整路径,或使用文件的哈希值作为白名单条目. 如果有白名单,那么其他程序会在安装时将自己添加到该列表中,并使程序运行具有用户不想要的管理访问权限.
如果只允许签名的申请,我们知道这些申请是安全的.应用程序不安全,因为它们已签名.应用程序不必是恶意软件,因为它被滥用于做坏事.(例如flash中的缓冲区溢出,firefox,即chrome,safari,opera,word,photoshop,Yahoo image uploader工具).
您必须将有效代码签名者列表存储在列表中.无论你如何分割它,拥有任何白名单意味着应用程序只会将自己添加到该列表中.
你如何管理白名单?让我们说用户已经改变了主意,或者爸爸改变了主意,或者IT改变了主意,或者公司改变了主意,或者软件发行商改变了主意:如何从列表中删除项目 - 尤其是当没有人允许修改列表.
摘要:白名单不起作用.
Jam*_*ley -2
用户应该能够右键单击可执行文件并转到属性 -> 兼容性 -> “以管理员身份运行此程序\xe2\x80\x99”
\n| 归档时间: |
|
| 查看次数: |
3104 次 |
| 最近记录: |