首页 > 解决方案 > 在客户端 wasm 代码中包含密码是否安全?

问题描述

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

我知道将敏感数据保存在客户端从来都不是最佳实践,但在代码模糊性方面,Wasm 似乎有点改变游戏规则(除非我在某个地方遗漏了一些东西)。

一切看起来像这样:

浏览器内 Wasm 文件和代码

我看不出如何从中收集到任何信息。

对于一些上下文,我问这个的原因是因为我正在为我的 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>

标签: c#webassemblyblazor

解决方案


答案在评论中迅速出现!

WASM 可以被反编译,所以在客户端处理敏感信息从来都不是一个好主意。


推荐阅读