我想在身份验证过程结束后立即删除在请求标头中收到的身份验证数据。那是为了减少与此类数据的长时间暴露相关的安全风险。
有一种删除请求标头的方法:
HttpContext.Request.Headers.Remove("Authorization");
但是,我担心它是否以及何时删除数据。恐怕由于ASP.NET Core中的标头由StringValues
类型表示,并且是填充它的唯一可能方法
(constructors,Add,Insert)似乎涉及到字符串的使用,然后所有的赌注都被取消了:无法告诉GC何时决定清理那些字符串(包含敏感数据)以及由于内存碎片整理过程中的重定位而在RAM中留下的字符串副本数。
因此,问题是,“是否有确定的方法来删除/归零在ASP.NET Core中的请求标头中传递的身份验证数据,或者由于上述原因而不可能吗?” >