ASP.NET之ViewState学习与联想

本来是说通过一个工具打开网页链接,参数用了明文传递,这个应该加密处理;

后来又说到,接口调用,也要对参数进行加密加盐处理,防篡改;

再又说到了,WebForm的传输加密,哦,我前段时间处理过ViewState的加密解密。

这是啥意思呢,我已经想当然的认为,ASP.NET下的WebForm控件相关传输,都是通过ViewState走的,但是这是个错误!

我做了测试,页面放个文本框,放个按钮,页面第一次加载记录ViewState的hidden值;

给文本框输入内容,点击按钮回发,再次记录ViewState的hidden值;

结果两次ViewState的值是一样的!说明控件的值不是简单通过ViewState的传到后台的。

而且,将ViewState的hidden值反序列后,也看不到控件相关值,但是如果在后台设置ViewState,对ViewState反序列化可以看到相关信息的。

 这里,前两个是XX、YYY的ViewState,存储的字符串,第三个ViewState存储的是DataTable数据 。

找到个比较专业的帖子,放个链接,以备后续继续学习理解,有点长,不过确实研究的深入

真正理解ASP.NET的ViewState (Truly Understanding ViewState)_vividboy的博客-CSDN博客icon-default.png?t=M666https://blog.csdn.net/vividboy/article/details/2069347这里我知道了TextBox的Text其实也是用了ViewState

而且好几个控件即便禁用了ViewState,回发控件值也是丢不了的,但是label控件,禁用了ViewState,回发控件值就丢了(通过F12修改)

在上篇已经写过了,ViewState是可以加密的,这样保证后台数据是安全的,但是前端(不在ViewState)也不是前后分离方式调用调用ajax的情况,即直接是提交整个页面给后台的情况,怎么进行加密的呢?

这块还没想明白。

在提交之前,对所有数据进行加密,然后后端解密?想起来,之前做系统登录的时候,针对密码字段这么处理过。

当然尽量不改代码,从底层调整最佳。

先把目前情况做个记录。

越来越感觉,学到的只是皮毛,还得静下心来多学习、多研究,路漫漫。

你可能感兴趣的:(C#.NET,ViewState,ASP.NET,WebForm)