gpt4 book ai didi

asp.net - 将在公共(public)计算机或信息亭上使用的 ASP.Net Web 应用程序的安全注意事项

转载 作者:行者123 更新时间:2023-12-01 01:26:26 26 4
gpt4 key购买 nike

我有一个应用程序,无需身份验证即可在公共(public)场所的计算机上使用。这是一个简单的四页应用程序,允许用户申请结婚证。一些办公室将有一个公共(public)电脑亭,申请人可以在前往文员之前填写自己的信息。他们也可以在访问办公室之前在家里这样做。我应该采取哪些注意事项来确保用户无法访问前一个用户的输入?某些表格数据将包含敏感信息,例如 DOB、SSN 和母亲的娘家姓。

1.禁用自动完成

到目前为止,我已经在我的母版页表单标签中设置了 autocomplete=false。

<form id="frmMain" runat="server" autocomplete="false">

2.禁用页面缓存

我还能够在 IE 和 FF 中禁用页面缓存,但在 Safari 和 Chrome 中不能这样做。有人知道诀窍吗?点击后退按钮仍会在 Safari 和 Chrome 中显示表单填充数据。
// Disables page-caching in IE
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Expires = 0;

// HACK: fixes Firefoxes cache issue
Response.AddHeader("ETag", new Random().Next(1111111, 9999999).ToString());

3. 管理 session

我还在每个页面上实现了一个计时器,它将在 n 分钟后终止 session 。 session 保存页面用来加载先前输入的数据的当前应用程序 ID。他们可以通过单击按钮获得更多时间。当计时器到时,它会重定向回我在 Page_Load 中终止 session 的主页。当用户单击“完成/提交”按钮时,我也会重定向到此页面。一旦 session 被终止,通过 URL 导航到页面将永远不会加载以前的应用程序。它将被视为一个新的。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
Session.Abandon();
}

4. 我还应该做什么?
Your awesome suggestions/tips here

最佳答案

由于这是一个 Kiosk 应用程序,您需要确保将浏览器配置为支持不缓存任何内容的请求。

上次我研究服务器端无缓存 header 的有效性时,我意识到任何使用定制的、有问题的或不常见的浏览器的人都可能不接受不缓存文档的请求。

您可能还想在某些页面上添加 javascript 后退按钮断路器(例如 session 结束页面)和历史导航威慑,但不是所有页面,因为没有人喜欢后退按钮被破坏。

关于asp.net - 将在公共(public)计算机或信息亭上使用的 ASP.Net Web 应用程序的安全注意事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3391427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com