【问题标题】:Where i should put the code for checking user/pass, at the very top or not?我应该将检查用户/通行证的代码放在最顶部还是不放在哪里?
【发布时间】:2012-07-26 04:32:10
【问题描述】:

目前我在第 4 行检查用户/密码,而前几行包含用于配置和连接数据库的包含 php 文件以及包含有用功能的文件...

我想知道在包含这些文件后检查权限是错误的还是最好将其放在顶部?

  • 我也是 php 新手

require_once('includes/config.php');
require_once('includes/connection.php');
require_once('includes/functions.php');
checkAuthority();

PS:checkAuthority 函数中包含 session_start(),虽然它现在不在顶部但仍然有效。

【问题讨论】:

  • 我认为您需要稍微改进您的问题以使其更加突出。尝试直接提出问题,发布代码示例。
  • 它仍然有效,因为您还没有开始放入那些包含的文件
  • 放置回声“hi”;在其中一个文件中声明,您将看到差异
  • @TheMongMan 是的,在您没有在这些文件中开始输出之前完全没有问题,没有任何规则说 session_start() 必须在第一行。

标签: php security authorization


【解决方案1】:

为了验证用户,您需要您的数据库。为此,您似乎需要

require_once('includes/config.php');

require_once('includes/connection.php');

然后要使用 checkAuthority 功能,您需要require_once('includes/functions.php');

所以你的位置是正确的。无需更改任何内容。

【讨论】:

    【解决方案2】:

    不,除非您在包含的文件中执行某些仅应在用户登录时执行的操作,否则这并没有错。但看起来您包含了对用户进行身份验证所必需的脚本(例如数据库连接)。

    另外,没有人说,session_start() 必须在其他任何事情之前执行。在执行session_start()(例如echo)之前,不得有任何其他输出。例如,如果您在 config.php 中回显某些内容,则 checkAuthority() 中的 session_start() 将失败。

    【讨论】:

      【解决方案3】:

      您可能正在使用数据库,并且您已经将这些数据库设置放在 config.php 中,因此您必须在包含一些常用文件后检查用户/密码。

      【讨论】:

      • -1 这不能回答当前状态下提出的问题的任何部分!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多