0

我是 php 新手,如果可能的话,我想了解一些信息。我目前正在尝试为我的大学中的一个练习建立一个网站。

我的主要问题是创建登录脚本的最佳或更专业的方法是哪种(注意:只有一个用户,管理员可以访问)???

  • 第一,检查表单中发布的数据是否与数据库中“admin”表中的数据匹配。所以我必须在我的数据库中创建一个表并添加一个只有管理员的用户,然后使用 sql 查询检查匹配
  • 或第二个通过制作这样的脚本:

    if(($_post['username'] == 'admin') && ($_post['password'] == 'password')){
        echo "Welcome admin";
    }else{
        echo "No access";
    }
    
4

5 回答 5

2
于 2012-07-05T14:35:43.043 回答
2

为什么不做一张users桌子?在该表中,可以将一个字段命名为“admin”,其中“0”表示不是管理员,“1”表示管理员。

对于密码,您总是希望使用某种哈希: http: //php.net/manual/en/function.hash.php

然后,在检查登录凭据时,您可以执行

if( !empty($_POST['password'] && hash('sha256', $_POST['password']) = {database password}  ){
  // password's okay
}
  • 永远不要在数据库中存储纯文本/未加盐的密码。

注意:您的数据库“密码”将是散列/加盐值,而不是实际密码。

于 2012-07-05T14:38:21.430 回答
0

如果您将数据保存在数据库中总是更好,在这种情况下,您应该加密您的用户数据。

于 2012-07-05T14:31:25.343 回答
0

您当然不应该在代码中存储密码和管理员用户名。数据库是此类数据的更安全可靠的存储。

如果你有一个用户表,你可能有一个字段指示用户权限的级别,或者你甚至可能有一个单独的具有权限的表。在这种情况下,您可以拥有管理员权限并将其分配给某个用户(一个或多个,如您所愿)。

于 2012-07-05T14:32:37.317 回答
0

当然是第一。在任何时候,您都可以添加一些用户,而不是通过更改源代码,而是通过在数据库中添加条目。请注意,有时我们暗示只有一个用户具有访问权限,但在我们注意到另一个用户必须具有访问权限之后。最好做到可扩展。

于 2012-07-05T14:34:44.583 回答