在客户端wasm代码中包含密码是否安全?

时间:2019-04-29 10:38:56

标签: c# webassembly blazor wasm

由于Wasm是以非人类可读的形式编写的,这是否使黑客几乎不可能查看站点的Wasm文件并弄清是什么?

我知道从来没有考虑过将最佳数据保存在客户端的最佳实践,但是在代码模糊性方面,Wasm似乎会改变游戏规则(除非我错过了某些地方)。

一切都像这样:

In-browser Wasm files and code

我不知道如何从中收集任何信息。

在某种程度上,我问这个原因是因为我正在为Blazor网站创建一个受密码保护的管理区。我想知道完全在客户端处理密码输入是否安全,仅仅是为了让用户体验更快一点(无需服务器调用)而感到高兴。

下面的代码示例:

// page.razor

// C#

@functions{

    string password = "";

    private void Login()
    {
        if(password == "thisBeThePassword")
        {
            UriHelper.NavigateTo("/adminArea/" + password);
            //adminArea component recieves password as parameter for gaining access
        }
    }
}

// Razor/Blazor HTML

<input type="password" bind="@password"/>

<button onclick=@Login>Login</button>

1 个答案:

答案 0 :(得分:6)

评论中的答案很快出现了!

WASM can be decompiled,因此,在客户端处理敏感信息永远不是一个好主意。