需要从View中向控制器提交一些CC数据,我可以将其发布,还是有一些常用的方法来保护传输中的数据?
答案 0 :(得分:12)
答案 1 :(得分:1)
使用像Rex M这样的SSL发帖绝对是第一步。您可能应该在他们输入信用卡号SSL的页面上进行操作。这将为您的用户提供舒适的绿色URL。
您还应该包含针对CSRF攻击的保护。使用防伪令牌。
此外,您应使用PRG (Post, Redirect, Get) pattern确保信用卡号码未提交两次。在帖子之后,不要只渲染不同的视图,发送重定向,以便他们的浏览器对另一个URL进行GET - 可能是您的确认页面。
您将遇到一些ASP.NET MVC特定的事情:
如果您有一些http页面和一些https页面,您将如何编写http页面中https页面的链接。您可以对它们进行硬编码,但您必须对域和协议进行硬编码。您不能只使用<%= Html.ActionLink(...请参阅此SO question了解详情。
当您不使用SSL时,您需要确保无法点击控制器。这将帮助您捕获任何错误,并确保没有人使用http而不是https。请参阅期货装配中的[RequireSsl]属性。这是一篇关于Adam Salvo
答案 2 :(得分:0)
我还没有读过ASP.net-MVC的实现。但是,我相信你已经混淆了术语。
将在服务器端评估MVC模式。 [因此几乎不需要在组件之间进行安全检查(除非它们暴露在程序之外)]
我相信很多人会在提交表单(而不是HTTP GET)后得到您正在谈论HTTP POSTS的印象