首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将在公共计算机或报亭上使用的ASP.Net web应用程序的安全性考虑

将在公共计算机或报亭上使用的ASP.Net web应用程序的安全性考虑
EN

Stack Overflow用户
提问于 2010-08-02 20:23:01
回答 4查看 649关注 0票数 4

我有一个应用程序,无需在公共场所的计算机上进行身份验证就可以使用。这是一个简单的四页应用程序,允许用户申请结婚许可证。有些办事处设有公共电脑亭,申请人可在该处填写自己的资料,然后才可向职员查询。在参观办公室之前,他们也可以在家里这样做。我应该考虑哪些因素来确保用户不能访问上一个用户的输入?一些表单数据将包含敏感的信息,如道布,SSN和母亲的娘家名字。

1.禁用AutoComplete

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

代码语言:javascript
复制
<form id="frmMain" runat="server" autocomplete="false">

2.禁用页面缓存

我还可以在IE和FF中禁用页面缓存,但在Safari和Chrome中不能这样做。有人知道诀窍吗?按后退按钮仍然显示Safari和Chrome中填充表单的数据。

代码语言:javascript
复制
// 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.管理会话

我还在每个页面上实现了一个计时器,它将在n分钟后杀死会话。会话保存页面用来加载先前输入的数据的当前应用程序ID。他们可以通过点击按钮来获得更多的时间。当计时器结束时,它会重定向回我在Page_Load中杀死会话的主页面。当用户单击"Finished/Submit“按钮时,我也重定向到此页面。会话结束后,按URL导航到页面将永远不会加载上一个应用程序。它会被当作一个新的。

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
   if (!IsPostBack)
     Session.Abandon();
}

4.我还能做什么呢?

代码语言:javascript
复制
Your awesome suggestions/tips here
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-02 20:30:31

我觉得你的想法是对的。在“完成/提交”上结束会议是我会推荐的。仍然阅读owasp前十并记住常见的漏洞。

1)确保使用HTTPS。

2)始终要在推出应用程序之前对其进行漏洞测试。我建议使用马鹿(免费)、阿纽特克斯($)或NTOSpider($$$$)。

3)保持服务器更新,确保运行OpenVAS以确保服务器是安全的。

票数 0
EN

Stack Overflow用户

发布于 2010-08-02 21:02:28

因为这是一个Kiosk应用程序,所以您需要确保浏览器被配置为满足不缓存任何东西的请求。

上一次我研究了服务器端无缓存头的有效性时,我意识到任何使用自定义的、错误的或不常见的浏览器的人都可能不是不缓存文档的荣誉请求。

您还可能希望在某些页面(例如,会话结束时的某个页面)添加javascript回键断点和历史导航威慑,但不是所有的页面,因为没有人喜欢被破坏的back按钮。

票数 1
EN

Stack Overflow用户

发布于 2010-08-02 20:25:43

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3391427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档