예제 #1
1
    public function msgHTML($message, $basedir = '', $advanced = false)
    {
        if (empty($this->to[0][0])) {
            if ($this->exceptions) {
                throw new phpmailerException('E-mail not insert');
            }
            $this->ErrorInfo = 'E-mail not insert';
            return false;
        }
        $key = time();
        $hash = myHash($this->to[0][0] . preg_replace('#^.{2}(.+).{2}$#u', "\\1", $key));
        $unsubscribe = 'https://school-php.com/login/unsubscribe?email=' . urlencode($this->to[0][0]) . '&key=' . urlencode($key) . '&hash=' . urlencode($hash);
        $this->addCustomHeader("List-Unsubscribe", '<mailto:unsubscribe@school-php.com>, <' . $unsubscribe . '>');
        $this->addAttachment('./skins/img/logo.png');
        $this->addAttachment('./skins/img/edu4.png');
        $this->addAttachment('./skins/img/mailbg.png');
        $message = '<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>' . hc($this->Subject) . '</title>
</head>
<body>
<div style="background-color:#eee; padding:20px;">
<div style="background:white url(https://school-php.com/skins/img/mailbg.png) no-repeat top right;border: 1px solid #dfdfdf;width: 560px;padding: 0px 25px 25px;margin: 0 auto;">
<div role="banner" style="padding:15px;border-bottom: 1px solid #eee;"><h1 style="margin-bottom:0px; padding-bottom:0px;"><img src="https://school-php.com/skins/img/logo.png" alt="Школа программирования"><br>Школа PHP Программирования</h1></div>
<div role="main" style="margin: 30px 10px 50px 10px; font-size: 14px; line-height: 1.5;">
' . $message . '
</div>
<div role="footer" style="padding-top:10px; border-top: 1px solid #eee;">
<p>
Автоматическая система рассылок school-php.com!<br>
Вы можете отписаться от писем пройдя по следующей ссылке:<br>
<a href="' . $unsubscribe . '">' . $unsubscribe . '</a>
</p>
</div>
</div>
<div align="center"><img src="https://school-php.com/skins/img/edu4.png"></div>
</div>
</body>
</html>';
        return parent::msgHTML($message, $basedir, $advanced);
    }
예제 #2
0
function show_table($connection)
{
    $result = mysql_query('SELECT * FROM logininfo', $connection);
    echo "<div id='table'>\n\t\t<table border='1'>\n\t\t\t<tr>\n\t\t\t<th>UserID</th>\n\t\t\t<th>LoginName</th>\n\t\t\t<th>Password</th>\n\t\t\t</tr>";
    while ($row = mysql_fetch_array($result)) {
        echo "<tr>";
        echo "<td>" . $row['userID'] . "</td>";
        echo "<td>" . $row['loginname'] . "</td>";
        if ($row['loginname'] == $_SESSION['loginname'] && $row['password'] == myHash($_SESSION['password'])) {
            echo "<td>" . $row['password'] . "</td>";
        }
        echo "</tr>";
    }
    echo "</table></div>";
}
예제 #3
0
 protected function hashTable()
 {
     if ($this->table) {
         return $this->table;
     }
     if (isset($this->structure['db']['hash'])) {
         $seed = $this->seed;
         if (!$seed) {
             $seed = $this->data;
         }
         return sprintf($this->structure['db']['hash']['format'], myHash($seed[$this->structure['db']['hash']['by']], $this->structure['db']['hash']['num']));
     } else {
         return $this->structure['db']['table'];
     }
 }
예제 #4
0
	{
		$res = fopen($_SERVER['DOCUMENT_ROOT'].'/parser_meta_pattern/user_data/'.$_COOKIE['PHPSESSID'].'/'.$domain.'/sitemap.xml', 'r');
		while($res and !feof($res))
		{
			$str = fgets($res);
			if(preg_match('#<loc>([^<]+)</loc>#i', $str, $matches))
			{
				$uri = explode('/', $matches[1], 4);
				$uri = '/'.$uri[3];
				$count ++;
				if($count >= $min_number_link and $count < $max_number_link )
				{
					$return['links'][] = $matches[1];
					$arLinks[] = Array(
						'link' => $uri,
						'hash' => myHash($uri),
					);
					
					/*$query = 'INSERT INTO `pages` (`site_id`, `uri`, `hash`) values ("'.$_SESSION['site_id'].'", "'.$uri.'", "'.myHash($uri).'")';
					if(!mysql_query($query))
						echo mysql_error();*/
				}
				elseif($count >= $max_number_link)
				{
					$arFileLink = unserialize(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/parser_meta_pattern/user_data/'.$_COOKIE['PHPSESSID'].'/'.$domain.'/links.dat'));
					if(!is_array($arFileLink))
						$arFileLink = Array();
					$arLinks = serialize(array_merge($arFileLink, $arLinks));
					file_put_contents($_SERVER['DOCUMENT_ROOT'].'/parser_meta_pattern/user_data/'.$_COOKIE['PHPSESSID'].'/'.$domain.'/links.dat', $arLinks);
					die(json_encode(array_merge($return, Array('count'=>($min_number_link+count($return['links']))))));
				}
예제 #5
0
파일: auth.php 프로젝트: Vladimir25/l17
        #Экранируем пост перед запросом в бд
        $_POST = ms($_POST);
        #Делаем запрос на проверку логина и пароля в бд
        $res = q("\n                  SELECT *\n                  FROM `users`\n                  WHERE `login`     = '" . $_POST['login'] . "'\n                    AND `password`   = '" . myHash($_POST['password']) . "'\n                   LIMIT 1\n                 ");
        # Если запись существует добавляем в сессию данные полученные из бд
        if (mysqli_num_rows($res)) {
            #Создаем массив для проверок на работоспособность аккаунта
            $user = mysqli_fetch_assoc($res);
            if ($user['active'] == 1) {
                #Если аккаунт активирован - авторизуем пользователя
                $_SESSION['user'] = $user;
                #Если пользователь пожелал чтобы его запомнили, то обновляем данные в бд и создаем хеш для куков
                if (!empty($_POST['auto'])) {
                    q("\n                        UPDATE `users`\n                        SET\n                         `agent` = '" . $_SERVER['HTTP_USER_AGENT'] . "',\n                         `hash`  = '" . myHash($_POST['login'] . $_POST['password'] . $_SESSION['user']['registration_date']) . "'\n                    ");
                    #Добавляем куки
                    setcookie('id', $_SESSION['user']['id'], time() + 36000, '/');
                    setcookie('hash', myHash($_POST['login'] . $_POST['password'] . $_SESSION['user']['registration_date']), time() + 36000, '/');
                }
            } elseif ($user['active'] == 0) {
                #Аккаунт не активен
                $_SESSION['error'] = 'Вы не подтвердили свою почту. Проверьте свою почту и активируйте аккаунт</strong>';
            } else {
                #Аккаунт забанен
                $_SESSION['error'] = '<strong>Вы забанены администратором. Обратитесь на почту ' . Core::$MAIL . '</strong>';
            }
        } else {
            #Если пользователя с такими данными нету
            $err['bad'] = 'Некорректно введенны данные';
        }
    }
}
예제 #6
0
    if (empty($_POST['password'])) {
        $errors['password'] = '******';
    } elseif (mb_strlen($_POST['password']) < 5) {
        $errors['password'] = '******';
    }
    if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
        $errors['email'] = 'Вы не заполнили email';
    }
    if (!count($errors)) {
        $res = q("\n            SELECT `id`\n            FROM `users`\n            WHERE `login` = '" . es($_POST['login']) . "'\n            LIMIT 1\n        ");
        if (mysqli_num_rows($res)) {
            $errors['login'] = '******';
        }
        $res = q("\n             SELECT `id`\n             FROM `users`\n             WHERE `email` = '" . es($_POST['email']) . "'\n             LIMIT 1\n        ");
        if (mysqli_num_rows($res)) {
            $errors['email'] = 'Такой email уже занят';
        }
    }
    if (!count($errors)) {
        q("\n      INSERT INTO `users` SET\n      `login`    = '" . es($_POST['login']) . "',\n      `password` = '" . myHash($_POST['password']) . "',\n      `email`    = '" . es($_POST['email']) . "',\n      `age`      = '" . (int) $_POST['age'] . "',\n      `hash`     = '" . myHash($_POST['login'] . $_POST['age']) . "'\n    ");
        $id = mysqli_insert_id($link);
        $_SESSION['regok'] = 'OK';
        Mail::$to = $_POST['email'];
        Mail::$subject = 'Вы зарегистрировались на сайте';
        Mail::$text = 'То пройдите по ссылке для активации вашего аккаунта:' . Core::$DOMAIN . 'index.php?module=cab&page=activate&id=' . $id . '&hash=' . myHash($_POST['login'] . $_POST['age']) . '
    ';
        Mail::send();
        header("Location: index.php?module=cab&page=registration");
        exit;
    }
}
예제 #7
0
<?php

if (isset($_POST['email'], $_POST['hash'], $_POST['key'], $_POST['antixsrf'], $_SESSION['antixsrf']) && $_SESSION['antixsrf'] == $_POST['antixsrf'] && $_POST['hash'] == myHash($_POST['email'] . preg_replace('#^.{2}(.+).{2}$#u', "\\1", $_POST['key']))) {
    q("\n\t\tINSERT IGNORE INTO `fw_unsubscribe` SET\n\t\t`email` = '" . es($_POST['email']) . "'\n\t");
    $_SESSION['info'] = 'Ваш E-mail: <span style="font-weight:bold">' . hc($_POST['email']) . '</span> внесён в список заблокированных для уведомлений';
    redirect('this');
}
예제 #8
0
파일: reg.php 프로젝트: Vladimir25/l17
    //Дергаем функцию для проверки на ошибки и присваиваем массив $err
    $err = err($_POST);
    #Если ошибки отсутствуют обращаемся к бд
    if (!count($err)) {
        #Проверяем имеется ли данный логин в базе
        $login = q("\n                 SELECT *\n                 FROM `users`\n                 WHERE `login` = '" . ms($_POST['login']) . "'\n                 LIMIT 1\n                ");
        if (mysqli_num_rows($login)) {
            $err['login'] = '******';
        }
        #Проверяем имеется ли данное мыло в базе
        $email = q("\n                 SELECT *\n                 FROM `users`\n                 WHERE `email` = '" . ms($_POST['email']) . "'\n                 LIMIT 1\n                ");
        if (mysqli_num_rows($email)) {
            $err['email'] = 'Пользователь с таким email уже существует';
        }
    }
    #Если нету ошибок
    if (!count($err)) {
        #Экранируем массив $_POST
        $_POST = ms($_POST);
        #Если нету вносим нового пользователя
        q("\n          INSERT\n          INTO `users`\n          SET\n            `login`             = '" . $_POST['login'] . "',\n            `password`          = '" . myHash($_POST['password']) . "',\n            `email`             = '" . $_POST['email'] . "',\n            `age`               = '" . $_POST['age'] . "',\n            `hash`              = '" . myHash(md5($_POST['login'] . $_POST['email'])) . "',\n            `registration_date` = NOW()\n      ");
        #Формируем и отправляем активационное письмо на указанный ранее адрес
        Mail::$to = $_POST['email'];
        Mail::$subject = 'Подтвердите регистрацию аккаунта на сайте' . Core::$DOMAIN;
        Mail::$message = 'Для подтверждения регистрации перейдите по ссылке ' . Core::$DOMAIN . 'index.php?module=cab&page=active&code=' . myHash(md5($_POST['login'] . $_POST['email']));
        Mail::send_mail();
        $_SESSION['regok'] = 'OK';
        header("Location: index.php?module=cab&page=reg");
        exit;
    }
}