Неправильный email. Где проверяется?

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
Flat
phpBB 1.4.3
Сообщения: 78
Стаж: 19 лет 10 месяцев
Благодарил (а): 1 раз

Неправильный email. Где проверяется?

Сообщение Flat »

Где проверяется правильность домена email? Домен нестандартный, для примера емайл user@runet при регистрации клиента ругается.
Где убрать эту проверку? или проста разрешить такой домен?
Аватара пользователя
/DiOs
Former team member
Сообщения: 1139
Стаж: 19 лет 2 месяца
Откуда: Ленинград

Сообщение /DiOs »

Предполагается, что у ваших пользователей не может быть адресов на рутовых DNS. Что и логично. user@runet.hren.vam вполне пройдет. Т.е. проверка идет на валидность шаблона. Кроме того, будет ругаться в том случае, если такой адрес уже есть в базе.
Аватара пользователя
Flat
phpBB 1.4.3
Сообщения: 78
Стаж: 19 лет 10 месяцев
Благодарил (а): 1 раз

Сообщение Flat »

/DiOs писал(а):Предполагается, что у ваших пользователей не может быть адресов на рутовых DNS. Что и логично. user@runet.hren.vam вполне пройдет. Т.е. проверка идет на валидность шаблона. Кроме того, будет ругаться в том случае, если такой адрес уже есть в базе.
В базе адреса быть не может потому что эти адреса не принимаются форумом, я же описал выше. Сами адреса емайл менять тоже ни к чему, к ним уже привыкли. Нужно просто выключить проверку шаблона.
Аватара пользователя
/DiOs
Former team member
Сообщения: 1139
Стаж: 19 лет 2 месяца
Откуда: Ленинград

Сообщение /DiOs »

function validate_email из /includes/finctions_validate

А зачем забивать базу несуществующими e-mail? "Странные люди эти евреи и мусульмане: режут там, где остальные нарастить хотят..." (С)
Аватара пользователя
Flat
phpBB 1.4.3
Сообщения: 78
Стаж: 19 лет 10 месяцев
Благодарил (а): 1 раз

Сообщение Flat »

Код: Выделить всё

function validate_email($email)
{
	global $db, $lang;

	if ($email != '')
	{
		if (preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is', $email))
		{
			$sql = "SELECT ban_email
				FROM " . BANLIST_TABLE;
			if ($result = $db->sql_query($sql))
			{
				if ($row = $db->sql_fetchrow($result))
				{
					do
					{
						$match_email = str_replace('*', '.*?', $row['ban_email']);
						if (preg_match('/^' . $match_email . '$/is', $email))
						{
							$db->sql_freeresult($result);
							return array('error' => true, 'error_msg' => $lang['Email_banned']);
						}
					}
					while($row = $db->sql_fetchrow($result));
				}
			}
			$db->sql_freeresult($result);

			$sql = "SELECT user_email
				FROM " . USERS_TABLE . "
				WHERE user_email = '" . str_replace("\'", "''", $email) . "'";
			if (!($result = $db->sql_query($sql)))
			{
				message_die(GENERAL_ERROR, "Couldn't obtain user email information.", "", __LINE__, __FILE__, $sql);
			}
		
			if ($row = $db->sql_fetchrow($result))
			{
				return array('error' => true, 'error_msg' => $lang['Email_taken']);
			}
			$db->sql_freeresult($result);

			return array('error' => false, 'error_msg' => '');
		}
	}

	return array('error' => true, 'error_msg' => $lang['Email_invalid']);
}
Эту функцию видел. Но просто удалить ее будет ли правильно? Не хочу спешить в таком вопросе. Какая из этих строк отвечает за нужную мне проверку?

Добавлено спустя 2 минуты 20 секунд:
/DiOs писал(а):А зачем забивать базу несуществующими e-mail?
Они существуют. Форум в домашней сети.
Аватара пользователя
/DiOs
Former team member
Сообщения: 1139
Стаж: 19 лет 2 месяца
Откуда: Ленинград

Сообщение /DiOs »

Flat писал(а):Какая из этих строк отвечает за нужную мне проверку?
Вот эта:

Код: Выделить всё

if (preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is', $email))
Я уж не знаю, какие у вас там правила формирования адреса. Предельно просто -- заменить на Если какие-то правила все-таки есть, замените регексп на ваш.
Flat писал(а):Они существуют. Форум в домашней сети.
Причем здесь домашне(о?)сть сети? Никто не мешает (как это сделано в подавляющем большинстве корпоративных сетей) иметь RFC-compliant адреса хоть в поле, хоть в доме. Иначе аналогичные грабли будут торчать много откуда. Хотя согласен, бег по граблям -- наш национальный вид спорта.
Аватара пользователя
Flat
phpBB 1.4.3
Сообщения: 78
Стаж: 19 лет 10 месяцев
Благодарил (а): 1 раз

Сообщение Flat »

Благодарю.......
Побежал далее к следующим граблям :-)

Вернуться в «Поддержка phpBB 2.0.x»