Это безопасно к данным Кредитной карты POST с Представления на Контроллер?

Первичный ключ не должен быть полем автопостепенного увеличения, во многих случаях это просто означает усложнение структуры таблицы.

Вместо этого Первичный ключ должен быть минимальным набором атрибутов (обратите внимание, что большая часть DBMS позволит составной первичный ключ), который однозначно определяет кортеж.

В технических терминах, это должно быть поле, от которого любое поле в кортеже полностью функционально зависит. (Если это не Вы, возможно, должен был бы нормализовать).

На практике, проблемы производительности могут означать, что Вы объединяете таблицы и используете поле постепенного увеличения, но я, кажется, вспоминаю что-то о преждевременной оптимизации, являющейся злым...

6
задан MetaGuru 30 September 2009 в 01:07
поделиться

3 ответа

Разместите данные, используя SSL .

Вот хороший ресурс по настройке SSL с IIS и ASP.NET .

12
ответ дан 8 December 2019 в 18:38
поделиться

Posting with SSL like Rex M mentioned is definitely the first step. You should probably make the page where they are typing their credit card number SSL as well. This will give your users the green URL of comfort.

You should also include protection against CSRF attacks. Use the anti-forgery token.

Also, you should use the PRG (Post, Redirect, Get) pattern to make sure that the credit card numbers aren't submitted twice. After the post, don't just render a different view, send a redirect so their browser does a GET against another URL - probably your confirmation page.

You'll run into a few ASP.NET MVC specific things:

  1. If you have some http pages and some https pages, how will you code the links to the https pages from the http pages. You can hard code them, but you'll have to hard code the domain and protocol. You can't just use <%= Html.ActionLink(... see this SO question for more details.

  2. You'll want to make sure you can't hit your controllers when you are not using SSL. This will help you catch any errors, and ensure that no one uses http instead of https. See the [RequireSsl] attribute in the futures assembly. Here's a blog post about it from Adam Salvo

1
ответ дан 8 December 2019 в 18:38
поделиться

Я не читал о реализации ASP.net-MVC. Однако я считаю, что вы перепутали терминологию.

Шаблон MVC будет оцениваться на стороне сервера. [Таким образом, нет необходимости в проверке безопасности между компонентами (если они не отображаются вне программы)]

Я считаю, что у многих создается впечатление, что вы говорите о HTTP POSTS после отправки формы (в отличие от HTTP GETs)

0
ответ дан 8 December 2019 в 18:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: