Перейти к содержанию
Форум поддержки пользователей VamShop

Регистрация проверка mail


Рекомендуемые сообщения

Немогу найти где настраивается регистрация нового пользователя. При регистрации не проверяется mail , регистрирует с любым словом в поле mail

Как сделать что бы приходил запрос на подтверждение мыла?

Ссылка на сообщение
Поделиться на другие сайты

Проверяется email на уникальность.

vam_validate_email функция, если я правильно помню.

Так по умолчанию, во всяком случае.

Ссылка на сообщение
Поделиться на другие сайты

Прошу прощения, два дня проковырялся так ничего непонял и ненашел. Подскажите в каком именно файле это исправить и какая функция или строка.

Ссылка на сообщение
Поделиться на другие сайты

По умолчанию проверяется.

Наверное у Вас правленный код.

В каких файлам регистрация идёт - я написал уже, их наверное и смотреть.

Ссылка на сообщение
Поделиться на другие сайты

вот мой vam_validate_email.inc.php

based on:

© 2000-2001 The Exchange Project (earlier name of osCommerce)

© 2002-2003 osCommerce(validations.php,v 1.11 2003/02/11); www.oscommerce.com

© 2003 nextcommerce (vam_validate_email.inc.php,v 1.5 2003/08/14); www.nextcommerce.org

© 2004 xt:Commerce (vam_validate_email.inc.php,v 1.5 2003/08/13); xt-commerce.com

Released under the GNU General Public License

---------------------------------------------------------------------------------------*/

////////////////////////////////////////////////////////////////////////////////////////////////

//

// Function : vam_validate_email

//

// Arguments : email email address to be checked

//

// Return : true - valid email address

// false - invalid email address

//

// Description : function for validating email address that conforms to RFC 822 specs

//

// This function is converted from a JavaScript written by

// Sandeep V. Tamhankar (stamhankar@hotmail.com). The original JavaScript

// is available at http://javascript.internet.com

//

// Sample Valid Addresses:

//

// first.last@host.com

// firstlast@host.to

// "first last"@host.com

// "first@last"@host.com

// first-last@host.com

// first.last@[123.123.123.123]

//

// Invalid Addresses:

//

// first last@host.com

//

//

////////////////////////////////////////////////////////////////////////////////////////////////

function vam_validate_email($email) {

$valid_address = true;

// sql injection fix 16.02.2011

if (strpos($email,"\0")!==false) {return false;}

$mail_pat = '/^(.+)@(.+)$/i';

$valid_chars = "[^] \(\)<>@,;:\.\\\"\[]";

$atom = "$valid_chars+";

$quoted_user='(\"[^\"]*\")';

$word = "($atom|$quoted_user)";

$user_pat = "/^$word(\.$word)*$/i";

$ip_domain_pat='/^\[([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\]$/i';

$domain_pat = "/^$atom(\.$atom)*$/i";

if (preg_match($mail_pat, $email, $components)) {

$user = $components[1];

$domain = $components[2];

// validate user

if (preg_match($user_pat, $user)) {

// validate domain

if (preg_match($ip_domain_pat, $domain, $ip_components)) {

// this is an IP address

for ($i=1;$i<=4;$i++) {

if ($ip_components[$i] > 255) {

$valid_address = false;

break;

}

}

} else {

// Domain is a name, not an IP

if (preg_match($domain_pat, $domain)) {

/* domain name seems valid, but now make sure that it ends in a valid TLD or ccTLD

and that there's a hostname preceding the domain or country. */

$domain_components = explode(".", $domain);

// Make sure there's a host name preceding the domain.

if (sizeof($domain_components) < 2) {

$valid_address = false;

} else {

$top_level_domain = strtolower($domain_components[sizeof($domain_components)-1]);

// Allow all 2-letter TLDs (ccTLDs)

if (preg_match('/^[a-z][a-z]$/i', $top_level_domain) != 1) {

$tld_pattern = '';

// Get authorized TLDs from text file

$tlds = file(DIR_FS_INC.'tld.txt');

while (list(,$line) = each($tlds)) {

// Get rid of comments

$words = explode('#', $line);

$tld = trim($words[0]);

// TLDs should be 3 letters or more

if (preg_match('/^[a-z]{3,}$/i', $tld) == 1) {

$tld_pattern .= '^' . $tld . '$|';

}

}

// Remove last '|'

$tld_pattern = substr($tld_pattern, 0, -1);

if (preg_match("/$tld_pattern/i", $top_level_domain) == 0) {

$valid_address = false;

}

}

}

} else {

$valid_address = false;

}

}

} else {

$valid_address = false;

}

} else {

$valid_address = false;

}

if ($valid_address && ENTRY_EMAIL_ADDRESS_CHECK == 'true') {

if (!checkdnsrr($domain, "MX") && !checkdnsrr($domain, "A")) {

$valid_address = false;

}

}

return $valid_address;

}

?>

Ссылка на сообщение
Поделиться на другие сайты

я ввожу в поле маил несуществующий маил rrrrrrrrrrrrrr@ooo.com всеравно регистрирует и впускает.

Как сделать что бы мыло проверялось на реальное существование?

Ссылка на сообщение
Поделиться на другие сайты

Так и должно быть.

Адрес на правильность формата проверяется и на уникальность.

Физическое существование ящика не проверяется.

Разве что можно попробовать включить опцию в Админке - Настройки - Настройка email.

Там есть опция Проверять по DNS или как-то так.

Но всё равно, если я правильно помню смысл этой опции, может будет прописать и несуществующий ящик.

Ссылка на сообщение
Поделиться на другие сайты
  • 1 month later...

Вопрос в дагонку:

скрипт не проверяет на наличие кириллицы в майле.

а если, например, делать рассылку, то вылезают ошибки из за кириллицы.

Ссылка на сообщение
Поделиться на другие сайты

Насколько я понимаю, в jQuery.validate, что используется по умолчанию, нет возможности проверять кириллицу.

Зарегистрируйте на http://vamshop.ru/forum/tracker/

Может что придумать можно будет, например использовать preq_replace или ещё что.

Ссылка на сообщение
Поделиться на другие сайты

в нем можно через remote :

сделать проверку.

http://www.jstoolbox.com/2008/03/19/proverka-dannyx-form-jquery-validation-plugin/

вот пост.

толку php нарезать не хватило

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...