#!/usr/bin/env php identify(); timeout=0 cid=19640 - 用户名不为空,密码为空,返回 false。 @0 - 用户名为空,密码不为空,返回 false。 @0 - 用户名不合法,密码不为空,返回 false。 @0 - 用户名不存在,密码不为空,返回 false。 @0 - 用户名存在,密码使用 md5 加密,密码不正确,返回 false。 @0 - 用户名存在,密码使用 sha1 加密,密码不正确,返回 false。 @0 - 用户名存在,密码使用明文,密码不正确,返回 false。 @0 - 用户名存在,密码使用明文,密码正确,返回用户。属性account @admin - 用户名存在,密码使用 md5 加密,密码正确,返回用户。属性account @admin - 用户名存在,密码使用 sha1 加密,密码正确,返回用户。属性account @admin - 用户名存在,密码使用 sha1 加密,密码正确,返回用户,用户是超级管理员。属性admin @1 - 用户名存在,密码使用 sha1 加密,密码正确,返回用户,用户头像是相对路径。属性avatar @/data/upload/1/202311/29144321062056c4 - admin 用户的 IP 是服务器的远程地址。 @1 - admin 用户的访问次数是原来的访问次数加 1。 @1 - admin 用户的访问次数不变。 @1 - admin 用户的访问次数不变。 @1 - 用户名存在,密码使用明文,密码正确,返回用户。属性account @user1 - 用户名存在,密码使用 md5 加密,密码正确,返回用户。属性account @user1 - 用户名存在,密码使用 sha1 加密,密码正确,返回用户。属性account @user1 - 用户名存在,密码使用 sha1 加密,密码正确,返回用户,用户不是超级管理员。属性admin @~~ - 用户名存在,密码使用 sha1 加密,密码正确,返回用户,用户头像是相对路径。属性avatar @/data/upload/1/202311/29144321062056c4 - user1 用户的 IP 是服务器的远程地址。 @1 - user1 用户的访问次数是原来的访问次数加 1。 @1 */ include dirname(__FILE__, 5) . '/test/lib/init.php'; include dirname(__FILE__, 2) . '/lib/model.class.php'; $table = zenData('user'); $table->password->range(md5(123456)); $table->avatar->range('/www/data/upload/1/202311/29144321062056c4'); $table->last->prefix('2025-01-01 10:00:00'); $table->gen(2); su('admin'); global $app, $config; $config->webRoot = '/'; $userTest = new userModelTest(); $random = updateSessionRandom(); $admin = $userTest->getByIdTest('admin'); $user1 = $userTest->getByIdTest('user1'); r($userTest->identifyTest('admin', '')) && p() && e(0); // 用户名不为空,密码为空,返回 false。 r($userTest->identifyTest('', '123456')) && p() && e(0); // 用户名为空,密码不为空,返回 false。 r($userTest->identifyTest('a1_~!', '123456')) && p() && e(0); // 用户名不合法,密码不为空,返回 false。 r($userTest->identifyTest('user2', '123456')) && p() && e(0); // 用户名不存在,密码不为空,返回 false。 r($userTest->identifyTest('admin', md5(123456))) && p() && e(0); // 用户名存在,密码使用 md5 加密,密码不正确,返回 false。 r($userTest->identifyTest('admin', sha1(123456))) && p() && e(0); // 用户名存在,密码使用 sha1 加密,密码不正确,返回 false。 r($userTest->identifyTest('admin', '654321')) && p() && e(0); // 用户名存在,密码使用明文,密码不正确,返回 false。 /** * 检测验证超级管理员用户身份。 */ r($userTest->identifyTest($admin->account, '123456')) && p('account') && e('admin'); // 用户名存在,密码使用明文,密码正确,返回用户。 r($userTest->identifyTest($admin->account, md5($admin->password . $random))) && p('account') && e('admin'); // 用户名存在,密码使用 md5 加密,密码正确,返回用户。 $admin = $userTest->getByIdTest($admin->account); // 重新获取用户信息,因为上面的操作会修改用户信息。 $user = $userTest->identifyTest($admin->account, sha1($admin->account . $admin->password . strtotime($admin->last))); r($user) && p('account') && e('admin'); // 用户名存在,密码使用 sha1 加密,密码正确,返回用户。 r($user) && p('admin') && e(1); // 用户名存在,密码使用 sha1 加密,密码正确,返回用户,用户是超级管理员。 r($user) && p('avatar') && e('/data/upload/1/202311/29144321062056c4'); // 用户名存在,密码使用 sha1 加密,密码正确,返回用户,用户头像是相对路径。 $oldAdmin = $admin; $admin = $userTest->getByIdTest($admin->account); r($admin->ip == $tester->server->remote_addr) && p() && e(1); // admin 用户的 IP 是服务器的远程地址。 r($admin->visits == $oldAdmin->visits + 1) && p() && e(1); // admin 用户的访问次数是原来的访问次数加 1。 /* 检测安装过程中验证用户身份。*/ $app->installing = true; $oldAdmin = $admin; $admin = $userTest->getByIdTest($admin->account); r($admin->visits == $oldAdmin->visits) && p() && e(1); // admin 用户的访问次数不变。 /* 检测升级过程中验证用户身份。*/ $app->upgrading = true; $oldAdmin = $admin; $admin = $userTest->getByIdTest($admin->account); r($admin->visits == $oldAdmin->visits) && p() && e(1); // admin 用户的访问次数不变。 /** * 检测验证普通用户身份。 */ $app->installing = false; $app->upgrading = false; r($userTest->identifyTest($user1->account, '123456')) && p('account') && e('user1'); // 用户名存在,密码使用明文,密码正确,返回用户。 r($userTest->identifyTest($user1->account, md5($user1->password . $random))) && p('account') && e('user1'); // 用户名存在,密码使用 md5 加密,密码正确,返回用户。 $user1 = $userTest->getByIdTest($user1->account); // 重新获取用户信息,因为上面的操作会修改用户信息。 $user = $userTest->identifyTest($user1->account, sha1($user1->account . $user1->password . strtotime($user1->last))); r($user) && p('account') && e('user1'); // 用户名存在,密码使用 sha1 加密,密码正确,返回用户。 r($user) && p('admin') && e('~~'); // 用户名存在,密码使用 sha1 加密,密码正确,返回用户,用户不是超级管理员。 r($user) && p('avatar') && e('/data/upload/1/202311/29144321062056c4'); // 用户名存在,密码使用 sha1 加密,密码正确,返回用户,用户头像是相对路径。 $oldUser = $user1; $user1 = $userTest->getByIdTest($user1->account); r($user1->ip == $tester->server->remote_addr) && p() && e(1); // user1 用户的 IP 是服务器的远程地址。 r($user1->visits == $oldUser->visits + 1) && p() && e(1); // user1 用户的访问次数是原来的访问次数加 1。