Blazor Server密码校验安全性及代码执行位置相关问题咨询
解答
疑问1:是否存在无需输入正确密码即可获取私密字符串的途径?
你当前编写的Blazor Server代码不存在这个风险。所有业务逻辑、字段存储都在服务端完成,只有当密码校验通过、服务端主动将私密字符串渲染到页面时,对应内容才会同步到用户浏览器,在此之前浏览器侧无法拿到任何未公开的字段值。
疑问2:Blazor Server 运行逻辑划分、C#代码转译相关问题
- Blazor Server 模式下,所有你编写的C#代码(包括Razor页面
@code块中的逻辑、变量定义)全部在服务端的.NET运行时中执行,不会被转译为JavaScript下发到浏览器。 - 浏览器端仅加载一个轻量的JS交互层,作用只有两个:上报用户的交互事件(输入、点击等)到服务端、接收服务端返回的DOM更新指令并修改页面,不包含任何你的业务逻辑代码。
- 你硬编码在C#代码中的私密字符串不会出现在浏览器侧的任何资源、网络请求中,就算打开开发者工具也无法查到,因为这个值从始至终都只存在于服务端内存中,只有校验通过后才会被推送到前端渲染。
小提醒:当前代码仅适合做运行机制测试,实际生产环境不要硬编码密码、私密信息到业务代码中,建议接入标准的身份认证体系做权限校验。
内容的提问来源于stack exchange,提问作者Bob5421
相关产品推荐
相关产品推荐

