Php 是否需要检查每个控制器页面中的登录功能

Php 是否需要检查每个控制器页面中的登录功能,php,javascript,jquery,html,Php,Javascript,Jquery,Html,我在PHP页面中遵循了MVC模式。我已经为每个视图页面创建了一个控制器页面,它将与模型页面交互。我已经检查了每个视图页面顶部的用户登录名。但我从未签入控制器页面。因为任何人都可以直接进入控制器页面并更改数据库内容 所以任何人请告诉我,是否可以通过控制器页面进入数据库。以及是否需要在控制器页面中检查用户的登录 如果我理解正确,您将在控制器页面的每个链接页面的顶部进行登录检查(假设您的index.php) 如果是这样,那么您不需要在每个链接页面的顶部进行登录检查,只需要从index.php进行登录检

我在PHP页面中遵循了MVC模式。我已经为每个视图页面创建了一个控制器页面,它将与模型页面交互。我已经检查了每个视图页面顶部的用户登录名。但我从未签入控制器页面。因为任何人都可以直接进入控制器页面并更改数据库内容


所以任何人请告诉我,是否可以通过控制器页面进入数据库。以及是否需要在控制器页面中检查用户的登录

如果我理解正确,您将在控制器页面的每个链接页面的顶部进行登录检查(假设您的index.php)

如果是这样,那么您不需要在每个链接页面的顶部进行登录检查,只需要从index.php进行登录检查。如果您在index.php顶部登录成功,那么您将继续包括您的预定视图页面

例如(在index.php中)

解决方案3:
好的,假设您在index.php中定义了$db文件,并在index.php中设置了类,那么其他文件将返回错误,因为您没有在其中定义db类


换句话说,如果您定义了$db=newdatabase();在index.php中,如果您试图直接访问其他文件,则会出现错误,因为其中尚未定义$db。

@Chris,是的,您的假设是正确的,但我在控制器页面中插入了数据库,因此如果我不从查看页面直接进入控制器,则可能会破坏数据库中的内容。@tomexsans,是的,绕过index.php,@Muthuraj:您可以选择检查文件是否被直接访问,以及其他解决方案。看看我的编辑。
<?php

if ( !$user->checkSession() )
    header('Location: login.php');

if ( $_GET['p'] == 'viewPageName' )
    include('modules/viewPageName.php' )
elseif and so on

?>
<?php
define('DIRECT', true);

your login check, etc...
?>
<?php
if (!defined('DIRECT')) die('No direct access is allowed');

other code, etc...
?>
deny from all