Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.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
C# 写入程序文件下的应用程序目录的安全问题_C#_.net_Security_Persistence_Program Files - Fatal编程技术网

C# 写入程序文件下的应用程序目录的安全问题

C# 写入程序文件下的应用程序目录的安全问题,c#,.net,security,persistence,program-files,C#,.net,Security,Persistence,Program Files,当以具有管理权限的用户身份登录时,应用程序是否自动有权写入其自己的程序文件目录 我正在将一些数据持久化到应用程序目录中,这显然不是开发中的问题,因为应用程序目录不在程序文件下,但我只是想确保在分发应用程序时不会遇到任何问题。并且该应用程序将仅由具有管理员权限的用户运行。大多数防病毒程序如果在程序文件目录下看到任何更新,都会发出警报 您最好将数据写入AppData文件夹下的文件夹中大多数防病毒程序如果在program files目录下看到任何更新,都会抛出错误 您最好将数据写入AppData文件夹

当以具有管理权限的用户身份登录时,应用程序是否自动有权写入其自己的程序文件目录


我正在将一些数据持久化到应用程序目录中,这显然不是开发中的问题,因为应用程序目录不在程序文件下,但我只是想确保在分发应用程序时不会遇到任何问题。并且该应用程序将仅由具有管理员权限的用户运行。

大多数防病毒程序如果在程序文件目录下看到任何更新,都会发出警报


您最好将数据写入AppData文件夹下的文件夹中

大多数防病毒程序如果在program files目录下看到任何更新,都会抛出错误


您最好将数据写入AppData文件夹下的文件夹。否。即使默认情况下具有管理权限的用户也会在非提升上下文中运行。用户必须显式提升才能获得写入该位置的权限

您可能不希望为了代表该用户保存一些数据而强制用户提升。您可能也不希望允许同一台计算机上的其他用户全局修改该数据,也不希望将该数据披露给其他用户


AppData是这类事情的合适位置,已经有10多年了。

不。即使是默认拥有管理权限的用户也会在非提升上下文中运行。用户必须显式提升才能获得写入该位置的权限

您可能不希望为了代表该用户保存一些数据而强制用户提升。您可能也不希望允许同一台计算机上的其他用户全局修改该数据,也不希望将该数据披露给其他用户


AppData是这类事情的合适地点,已经有10多年了。

据我所知,文件夹是特定于用户的,但应该适用于所有用户。但是CommonApplicationData文件夹呢?这是否要求他们“以管理员身份运行”?在这种情况下,它应该放在ProgramData下的文件夹中。对,CommonApplicationData实际上是用于返回该文件夹的枚举。但是,您知道在写入该文件夹时,应用程序是否必须以管理员身份运行吗?值的位置取决于您使用的操作系统。默认情况下,更新(但不读取)此文件夹中的文件时需要管理员权限。如有必要,您可以授予其他权限。如果您试图获得徽标认证,这将是失败的原因。不尝试获得认证,但如果我是,存储数据文件的“正确”方式是什么,以便它是特定于应用程序的,并且可以由应用程序写入?我是否必须使用独立存储?据我所知,文件夹是特定于用户的,但这应该适用于所有用户。但是CommonApplicationData文件夹呢?这是否要求他们“以管理员身份运行”?在这种情况下,它应该放在ProgramData下的文件夹中。对,CommonApplicationData实际上是用于返回该文件夹的枚举。但是,您知道在写入该文件夹时,应用程序是否必须以管理员身份运行吗?值的位置取决于您使用的操作系统。默认情况下,更新(但不读取)此文件夹中的文件时需要管理员权限。如有必要,您可以授予其他权限。如果您试图获得徽标认证,这将是失败的原因。不尝试获得认证,但如果我是,存储数据文件的“正确”方式是什么,以便它是特定于应用程序的,并且可以由应用程序写入?我是否必须使用隔离存储?