static DWORD UserEventCreate(CHAR *userName, USERFILE *userFile) { MOD_CONTEXT *mod; DWORD result; INT32 userId; ASSERT(userName != NULL); ASSERT(userFile != NULL); // Module context is required for all file operations mod = MemAllocate(sizeof(MOD_CONTEXT)); if (mod == NULL) { result = ERROR_NOT_ENOUGH_MEMORY; LOG_ERROR("Unable to allocate memory for module context."); } else { // Initialize MOD_CONTEXT structure mod->file = INVALID_HANDLE_VALUE; userFile->lpInternal = mod; // Register user result = UserRegister(userName, userFile, &userId); if (result != ERROR_SUCCESS) { TRACE("Unable to register user (error %lu).", result); } else { // Create user file result = FileUserCreate(userId, userFile); if (result != ERROR_SUCCESS) { TRACE("Unable to create user file (error %lu).", result); // Creation failed, clean-up the user file FileUserDelete(userId); FileUserClose(userFile); UserUnregister(userName); } } if (result != ERROR_SUCCESS) { // Free module context after all file operations MemFree(mod); } } return result; }
void Login(int z) { int denglui=10; int nocls=1; while(denglui!=0) { if(nocls==1) { system("cls"); //清屏 __COUTASTERISK__ if(z==1)printf("1.新用户注册 2.旧用户登录 0.返回\n");else printf("1.新商家注册 2.旧商家登录 0.返回\n"); __COUTASTERISK__ } scanf("%d",&denglui); fflush(stdin); switch(denglui) { case 1: nocls=1;if(z==1)UserRegister(); if(z==2)CTRegister(); denglui=10;break; case 2: nocls=1;if(z==1)UserLogin();if(z==2)CTLogin();denglui=10;break; case 0:break; default: nocls=0; printf("输入错误,请重新输入\n");break; } }
void CClientSocket::Register(char* buff,int nlen,char from[20],char beizhu[20]) { HEADER rhead; rhead.type = MSG_REGIST; rhead.SendLen = nlen; strcpy(rhead.from,from); strcpy(rhead.beizhu,beizhu); //发送给客户端注册成功是否的消息头 HEADER head3; head3.type = MSG_REGIST; head3.SendLen = nlen; memset(head3.to,0,20); memset(head3.from,0,20); memset(head3.beizhu,0,20); strcpy(head3.to,rhead.from); //验证登陆是否成功 for(iter=userlist.begin();iter!=userlist.end();iter++) { if((CString)rhead.from == (CString)iter->username) //用户已存在 { strcpy(head3.beizhu,"no");//失败 Send((char*)&head3, sizeof(head3)); return; } } if(iter == userlist.end()) //没有相同的用户,可以注册 { UserRegister(CString(from),CString(beizhu)); User user; user.username = from; user.password = beizhu; userlist.push_back(user); //将注册的用户添加到容器中 memset(head3.beizhu,0,20); strcpy(head3.beizhu,"yes");//成功 Send((char*)&head3, sizeof(head3)); } }
static INT32 UserCreate(CHAR *userName) { DB_CONTEXT *db; MOD_CONTEXT *mod; DWORD result; INT32 userId = -1; USERFILE userFile; TRACE("userName=%s", userName); if (!DbAcquire(&db)) { return userId; } // Module context is required for all file operations mod = MemAllocate(sizeof(MOD_CONTEXT)); if (mod == NULL) { result = ERROR_NOT_ENOUGH_MEMORY; LOG_ERROR("Unable to allocate memory for module context."); } else { // Initialize MOD_CONTEXT structure mod->file = INVALID_HANDLE_VALUE; // Initialize USERFILE structure ZeroMemory(&userFile, sizeof(USERFILE)); userFile.Groups[0] = NOGROUP_ID; userFile.Groups[1] = -1; userFile.AdminGroups[0] = -1; userFile.lpInternal = mod; // Read "Default.User" file result = FileUserDefault(&userFile); if (result != ERROR_SUCCESS) { LOG_WARN("Unable to read \"Default.User\" file (error %lu).", result); } // Register user result = UserRegister(userName, &userFile, &userId); if (result != ERROR_SUCCESS) { TRACE("Unable to register user (error %lu).", result); } else { // Create user file result = FileUserCreate(userId, &userFile); if (result != ERROR_SUCCESS) { LOG_WARN("Unable to create user file (error %lu).", result); } else { // Create database record result = DbUserCreate(db, userName, &userFile); if (result != ERROR_SUCCESS) { LOG_WARN("Unable to create database record (error %lu).", result); } } // If the file or database creation failed, clean-up the user file if (result != ERROR_SUCCESS) { FileUserDelete(userId); FileUserClose(&userFile); UserUnregister(userName); } } if (result != ERROR_SUCCESS) { // Free module context after all file operations MemFree(mod); // Indicate an error occured by returning an invalid user ID userId = -1; } } DbRelease(db); SetLastError(result); return userId; }
void C51JobWebPost::RegisterFunc() { m_iNeedChageIP = 0; m_iIpSuccNum = 0; CString sendStr = ""; ShowMessage("初始化成功"); if (g_iAotuChangeIp == 1) { sendStr.Format("自动换IP,单一IP注册数:%d",g_iIpRegNum); ShowMessage(sendStr); } if (g_iAotuCheckCode==1) { ShowMessage("自动识别验证码"); } m_strOldIP = ""; while (!g_ExitFlag) { // m_hwnd = ::FindWindow("#32770","帐号注册"); // while(!m_hwnd) // { // m_hwnd = ::FindWindow("#32770","帐号注册"); // ShowMessage("请打开客户端注册窗口"); // Sleep(1000); // } // char str[128] = {0}; // HWND hwnd = NULL; // CWindowFind find; // //hwnd = find.MyFindWindow("Internet Explorer_Server","",hwnd); // hwnd = find.GetChildWindow(m_hwnd,1); // hwnd = find.GetChildWindow(hwnd,1); // hwnd = find.GetChildWindow(hwnd,1); // hwnd = find.GetChildWindow(hwnd,1); // GetClassName(hwnd,str,sizeof(str));//获取类名 // if(strcmp(str,"Internet Explorer_Server")==0) // { // IHTMLDocument2 *pDoc = GetDocInterface(hwnd); // GetHtmlCtrl(pDoc); // } // Sleep(1000); // continue; if (g_RegisterList.GetSize() <= 0) { Sleep(500); continue; } m_iIpSuccNum = 0; m_iNeedChageIP = 1; int iErrorCount = 0; int iSameIpCount = 0; // if (!g_iAotuChangeIp)//不需要自动换IP // { // //更换MAC地址 // if (m_iIsNeedChangeMac) // { // m_iIsNeedChangeMac = ChangeMacAddr(); // if (m_iIsNeedChangeMac == 1) // { // ShowMessage("修改MAC地址失败"); // } // else // { // m_iIsNeedChangeMac = 0; // } // } // else // { // ShowMessage("已经更换MAC地址"); // } // } CString strTest = ""; // while(GetGateWayIP(strTest) != 0) // { // Sleep(1000); // } //ShowMessage("网络连接成功"); DeleteObjectExEx(); while (m_iNeedChageIP && !g_ExitFlag && g_iAotuChangeIp == 1) //如果需要换IP { m_iNeedChageIP = 1; g_RasMgr.StopRas(sendStr); ShowMessage(sendStr); //更换MAC地址 if (m_iIsNeedChangeMac == 1) { m_iIsNeedChangeMac = ChangeMacAddr(); if (m_iIsNeedChangeMac == 1) { ShowMessage("修改MAC地址失败"); } else { m_iIsNeedChangeMac = 0; } } else { ShowMessage("已经更换MAC地址"); } int iRet = g_RasMgr.DialRas(sendStr); ShowMessage(sendStr); if (iRet == 0) //重新拨号成功,获取新的IP { if (g_iCheckIpFlag == 2)////POST检测 { int iRet = -1; int iErrorNum = 0; while (iRet == -1) { iRet = GetGateWayIP(g_strCurrIP); if (iRet == -1) { iErrorNum++; sendStr.Format("获取本机Ip失败 %d 次,重试...",iErrorNum); ShowMessage(sendStr); if (iErrorNum >= 3) { ShowMessage("获取本机Ip失败次数超过限制,跳过此操作..."); g_strCurrIP = m_strOldIP; break; } Sleep(300); } else { ShowMessage("检测到本机Ip: "+g_strCurrIP); } } if (g_strCurrIP == m_strOldIP) { m_iNeedChageIP = 1; iSameIpCount ++; if (iSameIpCount < g_iReCheckIpCount) { sendStr.Format("Ip未更换,重复拨号[%d]...",iSameIpCount); ShowMessage(sendStr); Sleep(300); continue; } sendStr.Format("重复拨号次数[%d]超过限制仍未更换Ip,跳过此操作...",g_iReCheckIpCount); ShowMessage(sendStr); iSameIpCount = 0; } else //IP更换成功 { m_strOldIP = g_strCurrIP; } } else if (g_iCheckIpFlag == 1)//RAS检测 { int iRet = -1; int iErrorNum = 0; while (iRet == -1) { iRet = g_RasMgr.GetGateWayIP(g_strCurrIP); if (iRet == -1) { iErrorNum++; sendStr.Format("获取本机Ip失败 %d 次,重试...",iErrorNum); ShowMessage(sendStr); if (iErrorNum >= 3) { ShowMessage("获取本机Ip失败次数超过限制,跳过此操作..."); g_strCurrIP = m_strOldIP; break; } Sleep(300); } else { ShowMessage("检测到本机Ip: "+g_strCurrIP); } } if (g_strCurrIP == m_strOldIP) { m_iNeedChageIP = 1; iSameIpCount ++; if (iSameIpCount < g_iReCheckIpCount) { sendStr.Format("Ip未更换,重复拨号[%d]...",iSameIpCount); ShowMessage(sendStr); Sleep(500); continue; } sendStr.Format("重复拨号次数[%d]超过限制仍未更换Ip,跳过此操作...",g_iReCheckIpCount); ShowMessage(sendStr); iSameIpCount = 0; } else //IP更换成功 { m_strOldIP = g_strCurrIP; } } else{}//不检测 iSameIpCount = 0; m_iNeedChageIP = 0; iErrorCount = 0; break; } iErrorCount ++; if (iErrorCount>=10) { ShowMessage("拨号连接失败次数过多,请确认您是使用ADSL拨号并且配置正确"); return; } Sleep(500); } m_iIsNeedChangeMac = 0; m_iNeedChageIP = 0; if (!g_ExitFlag) { //ReOpenRegWindow(); UserRegister(); } if (g_ExitFlag) { return; } } }
void C51JobWebPost::RegisterFunc() { m_iNeedChageIP = 0; m_iIpSuccNum = 0; CString sendStr = ""; ShowMessage("初始化成功"); if (g_iAotuChangeIp == 1) { sendStr.Format("自动换IP,单一IP注册数:%d",g_iIpRegNum); ShowMessage(sendStr); } if (g_iAotuCheckCode==1) { ShowMessage("自动识别验证码"); } m_strOldIP = ""; while (!g_ExitFlag) { if (g_RegisterList.GetSize() <= 0) { Sleep(500); continue; } m_iIpSuccNum = 0; m_iNeedChageIP = 1; int iErrorCount = 0; int iSameIpCount = 0; // if (!g_iAotuChangeIp) //不需要自动换IP // { // //更换MAC地址 // if (m_iIsNeedChangeMac) // { // m_iIsNeedChangeMac = ChangeMacAddr(); // if (m_iIsNeedChangeMac == 1) // { // ShowMessage("修改MAC地址失败"); // } // else // { // m_iIsNeedChangeMac = 0; // } // } // else // { // ShowMessage("已经更换MAC地址"); // } // } while (m_iNeedChageIP && !g_ExitFlag && g_iAotuChangeIp == 1) //如果需要换IP { m_iNeedChageIP = 1; g_RasMgr.StopRas(sendStr); Sleep(g_iRedialStop); ShowMessage(sendStr); //更换MAC地址 // if (m_iIsNeedChangeMac == 1) // { // m_iIsNeedChangeMac = ChangeMacAddr(); // if (m_iIsNeedChangeMac == 1) // { // ShowMessage("修改MAC地址失败"); // } // else // { // m_iIsNeedChangeMac = 0; // } // } // else // { // ShowMessage("已经更换MAC地址"); // } int iRet = g_RasMgr.DialRas(sendStr); ShowMessage(sendStr); if (iRet == 0) //重新拨号成功,获取新的IP { if (g_iCheckIpFlag == 2)////POST检测 { int iRet = -1; int iErrorNum = 0; while (iRet == -1) { iRet = GetGateWayIP(g_strCurrIP); if (iRet == -1) { iErrorNum++; sendStr.Format("获取本机Ip失败 %d 次,重试...",iErrorNum); ShowMessage(sendStr); if (iErrorNum >= 3) { ShowMessage("获取本机Ip失败次数超过限制,跳过此操作..."); g_strCurrIP = m_strOldIP; break; } Sleep(300); } else { ShowMessage("检测到本机Ip: "+g_strCurrIP); } } if (g_strCurrIP == m_strOldIP) { m_iNeedChageIP = 1; iSameIpCount ++; if (iSameIpCount < g_iReCheckIpCount) { sendStr.Format("Ip未更换,重复拨号[%d]...",iSameIpCount); ShowMessage(sendStr); Sleep(300); continue; } sendStr.Format("重复拨号次数[%d]超过限制仍未更换Ip,跳过此操作...",g_iReCheckIpCount); ShowMessage(sendStr); iSameIpCount = 0; } else //IP更换成功 { m_strOldIP = g_strCurrIP; } } else if (g_iCheckIpFlag == 1)//RAS检测 { int iRet = -1; int iErrorNum = 0; while (iRet == -1) { iRet = g_RasMgr.GetGateWayIP(g_strCurrIP); if (iRet == -1) { iErrorNum++; sendStr.Format("获取本机Ip失败 %d 次,重试...",iErrorNum); ShowMessage(sendStr); if (iErrorNum >= 3) { ShowMessage("获取本机Ip失败次数超过限制,跳过此操作..."); g_strCurrIP = m_strOldIP; break; } Sleep(300); } else { ShowMessage("检测到本机Ip: "+g_strCurrIP); } } if (g_strCurrIP == m_strOldIP) { m_iNeedChageIP = 1; iSameIpCount ++; if (iSameIpCount < g_iReCheckIpCount) { sendStr.Format("Ip未更换,重复拨号[%d]...",iSameIpCount); ShowMessage(sendStr); Sleep(500); continue; } sendStr.Format("重复拨号次数[%d]超过限制仍未更换Ip,跳过此操作...",g_iReCheckIpCount); ShowMessage(sendStr); iSameIpCount = 0; } else //IP更换成功 { m_strOldIP = g_strCurrIP; } } else{}//不检测 iSameIpCount = 0; m_iNeedChageIP = 0; iErrorCount = 0; break; } iErrorCount ++; if (iErrorCount>=10) { ShowMessage("拨号连接失败次数过多,请确认您是使用ADSL拨号并且配置正确"); return; } Sleep(500); } m_iIsNeedChangeMac = 0; m_iNeedChageIP = 0; if (!g_ExitFlag) { UserRegister(); } if (g_ExitFlag) { return; } } }