MVC - php会话验证

时间:2011-12-14 14:48:49

标签: php model-view-controller validation session

MVC validation: where to validate?中的这个问题,我同意在提出任何数据库调用之前在模型中进行验证的想法。

但是,我对此情况感到困惑:我有这种形式,在将行ID呈现回浏览器之前将其存储到会话中。它就像一个令牌。提交表单时,它会检查表单中的ID和会话中的ID是否相同。该操作与数据库完全无关。

是检查此ID是控制器或模型的工作吗?

2 个答案:

答案 0 :(得分:0)

Controller或Helper,具体取决于验证类型, 我想

答案 1 :(得分:0)

Faux MVC:在控制器中执行此操作。控制器处理大多数业务和行为逻辑,而模型处于非活动状态(不知道它在MVC三元组中的使用)或只是数据库存储的哑接口。

Real MVC:Sesssion数据是业务逻辑。它是应用程序状态的另一个模型。如果它已经驻留在服务器端会话存储中,那么它不是用户输入的(实际上是什么控制器)。

最后,克服用词不当。 MVC是昔日的流行语。 (并且在此之前很久就被MVP和PAC取代了)。在PHP中使用的变体与MVC无关。无论实施如何,试图“正确”地做到这一点都会失败。见https://stackoverflow.com/questions/1549857/simple-php-mvc-framework/1549970#1549970