"PHP" / Говнокод #5776 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
if (isset ($_POST['SendAuthForm'])) {   
	//массив ошибок
	$AuthError = array ();
	
	if (!isset ($_POST['AuthLogin']) || $_POST['AuthLogin'] == '' || !isset ($_POST['AuthPass']) || $_POST['AuthPass'] == '') {
		$AuthError[] = $ForumLang['AuthErrors']['WrongLoginPass'];
	}
	else {
		$AuthLogin = trim ($_POST['AuthLogin']);
		$AuthPass  = trim ($_POST['AuthPass']);
		$CheckUserValid = 0;	    
		//проверка логина-пароля
		$SQLCheckAuth = 'SELECT UserID, UserPassword, UserMail, GroupID
						 FROM users
						 WHERE UserLogin = \'' . Defence_EscapeString ($DBType, $AuthLogin) . '\'';
		$CheckAuthQuery = DB_Query ($DBType, $SQLCheckAuth, $ForumConnection);
		if (!$CheckAuthQuery) {		 
			exit ('Error while checking auth data!');
		}
		$UserExists = DB_NumRows ($DBType, $CheckAuthQuery);
		if ($UserExists == 0) {
			$CheckUserValid++;		      
		}	       
		//массив		
		$UserRow = DB_FetchAssoc ($DBType, $CheckAuthQuery);
	 //данные		
		$UserPass = $UserRow['UserPassword'];
		$UserID   = intval ($UserRow['UserID']);
		$UserMail = $UserRow['UserMail'];
		$GroupID  = intval ($UserRow['GroupID']);
		if (Main_Crypt ($AuthPass) <> $UserPass) {
			$CheckUserValid++;
		}
		if ($CheckUserValid > 0) {
			$AuthError[] = $ForumLang['AuthErrors']['WrongLoginPass'];
		}
		else {
			//удаление из гостей
			$SQLDelFromGuests = 'DELETE FROM guest_activity
								 WHERE SessionID=\'' . $SessionID . '\'';
			$DelFromGuestsQuery = DB_Query ($DBType, $SQLDelFromGuests, $ForumConnection);
			if (!$DelFromGuestsQuery) {		     
				exit ('Error while deleting user from guest table!');
			}		       
			//редактирование таблицы пользователя
			$CurAction = 'main_page';
			$SQLUpdateUser = 'UPDATE user_activity
					  SET UserLastLogin=\'' . $Now . '\', UserLastAction=\'' . $CurAction . '\', UserIsOnline=\'yes\'
							  WHERE UserID=\'' . $UserID . '\'';
			$UpdateUserQuery = DB_Query ($DBType, $SQLUpdateUser, $ForumConnection);
			if (!$UpdateUserQuery) {			
				exit ('Error while updating user status onto \'yes\'!');
			}
			//регенерация ид сессии		 
			session_regenerate_id (TRUE);
			$SecureString = '';		     
			//ip пользователя
			$CurUserIP = $_SERVER['REMOTE_ADDR'];
			$IPArray = explode ('.', $CurUserIP);
			$IPRanks = array ();
			for ($i=0; $i < $NumIPRanks; $i++) {
				$IPRanks[] = $IPArray[$i];
			}
			$IPFinalString = implode ('.', $IPRanks);
			$IPFinalString = sha1 ($IPFinalString . $AuthSalt);
			//user-agent
			$CurUserAgent = $_SERVER['HTTP_USER_AGENT']; 
			$CurUserAgent = substr ($CurUserAgent, 0, 50); 
			$CurUserAgent = sha1 ($CurUserAgent . $AuthSalt); 
			//объединение
			$SecureString = sha1 ($IPFinalString . $CurUserAgent . $AuthSalt);
			//случайная строка - хеш
			$RandomString = Main_GenerateRandString (10, '1');
			$RandomString = sha1 ($RandomString . $AuthSalt . time ());
		//данные в сессию
			unset ($_SESSION['UserData']);
			$_SESSION['UserData'] = array ();
			$_SESSION['UserData']['UserType'] = 'member';
			$_SESSION['UserData']['UserID']   = $UserID;
			$_SESSION['UserData']['UserName'] = $AuthLogin;
			$_SESSION['UserData']['GroupID']  = $GroupID;
			$_SESSION['UserData'][$SecureKey] = $SecureString;
			$_SESSION['UserData'][$SecureCookieName] = $RandomString;
			//куки
			setcookie($SecureCookieName,$RandomString);
			//перенаправление
			$_SESSION['Message'] = 'auth_sucess';
			$URL = '?action=message';
			Header('Location:' . $SelfName . $URL);
			exit ();
		}
	}       
	//проверка
}

Запостил: qbasic qbasic, (Updated )

Комментарии (2) RSS

  • Если не секрет откуда такое отборное. И не школьник писал. Дядьки явно знали ,что хотели, вопрос только на ХУА ?????????7
    Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8