Слой проверки в шаблоне MVC

Как был указан, защита программного обеспечения, как никогда гарантируют, не будет надежной. То, что Вы намереваетесь использовать, зависит в основном от Вашей целевой аудитории. Игра, например, не является чем-то, что Вы собираетесь быть способными защитить навсегда. Программное обеспечение сервера, с другой стороны, является чем-то намного менее вероятно, чтобы быть распределенным в Интернете, по ряду причин (проникновение продукта и ответственность приходят на ум; крупная корпорация не хочет считаться ответственная за нелегальное программное обеспечение, и пираты только беспокоятся вещами в достаточно большом спросе). Во всей честности, для высококлассной игры, лучшее решение состоит в том, чтобы, вероятно, отобрать поток самостоятельно (тайно!) и изменяют его в некотором роде (например, так, чтобы после двух недель игры это открылось с сообщениями, говоря Вам рассмотреть поддержку разработчиков путем покупки законной копии).

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

5
задан Oguz Bilgic 12 December 2009 в 22:10
поделиться

4 ответа

The source of the validation data should be in the model while the actual checking should probably be done at both the view level (perhaps with javascript or UI hints) and at the model level. Purists will suggest that the view should not be involved but I disagree.

7
ответ дан 13 December 2019 в 19:28
поделиться

Certainly not in the controller, its sole task should be just controlling the request/response and familarize model and view with each other. Do it in the business model. Not with a bunch of if-statements, but just using a for-loop and an abstract validation framework.

Validation in the view should only be done to improve user experience. In webapps the view is basically the HTML page. In that validation is only possible with Javascript which runs entirely at the client side. The client has full control over it, such as hacking/disabling it. Use JS validation only to improve user experience (i.e. quicker response, no flash of content). Still do the (same) validation in the server side for better robustness.

2
ответ дан 13 December 2019 в 19:28
поделиться

Включение проверки в ваши модели избавляет вас от необходимости повторять код проверки в группе контроллеров.

1
ответ дан 13 December 2019 в 19:28
поделиться

На мой взгляд, проверка должна выполняться как в модели, так и в представлении.

1
ответ дан 13 December 2019 в 19:28
поделиться
Другие вопросы по тегам:

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