![]() |
1
1
由于用户不是机器的管理员(这是一个基本假设),有很多方法可以对她隐藏东西。 我的建议是:
下面是一些图形说明:
因为数据是用受保护的数据加密的( Windows Data Protection )只能由已加密的Windows用户解密,登录的用户将无法读取“特殊用户”数据。 |
![]() |
2
0
我建议你用 JWT . 成功验证后,服务器将生成令牌。令牌将被发送到客户端。对服务器的每个后续调用都会将头中的令牌发送到服务器。然后服务器将验证令牌。如果已验证,则服务器知道客户端已验证。 不需要在客户端存储用户名/密码。 |
![]() |
3
0
没有防弹的方法可以解决这个问题,客户端最终需要访问服务器,因此攻击者可以在客户端上拥有足够的权限。 您所描述的是 OAuth2 协议,因为你可以控制服务器。使用OAuth2,您不能避免在客户机上存储秘密的需要,但是通过将其交换为令牌,您可以保护原始密码,并且可以保证令牌非常强(用户密码往往很弱)。 要在客户机上存储令牌/密码,可以在存储之前对其进行加密,但这会立即引发一个问题,即在何处存储用于此加密的密钥。攻击者可以从客户端提取。有一些方法可以提高密钥存储的安全性。
|
![]() |
4
0
好吧,你不能在客户端保护任何东西。一旦它在那里,任何有特权的人都可以看到它。 你能做的就是让这条信息没有其他东西就毫无用处。 最好的方法是存储 公钥 在客户端使用这个 公钥 创建哈希以通过webservice对用户进行身份验证。 当用户配置应用程序时,服务器发送应用程序本地存储的公钥。当应用程序调用服务器时,它将使用此公钥和只有应用程序和服务器知道的私钥创建哈希。然后服务器可以使用其私钥检查哈希是否正确。 为了提高安全性,您也可以在散列中使用时间戳,因此它将超时更改并防止密钥的重用。或者它可以发送一个新的 公钥 每个webservice的答案。 |
![]() |
5
0
我建议你用 IdentityServer4 由于它提供了符合RFC的协议,并且根据GrantType的不同,在桌面应用程序的上下文中提供了一个客户端应用程序。 即使令牌是纯文本的,它也在webservice中受到保护,在webservice中,访问控制(令牌的颁发者)通过检查客户端请求中的源和存储在数据库中的源来验证令牌是从正确的客户端接收的。 |
![]() |
vale383 · 如何在Django端点中查找user_id 5 月前 |
![]() |
Tunahan Keklik · 如果用户仍在网站上时会话过期怎么办 1 年前 |
![]() |
onizukaek · 如何将无密码登录链接认证应用于无头架构? 1 年前 |
|
Kananda Gama · Problema com登录[关闭] 1 年前 |