[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: защита при регестрации
PandoraBox2007
Тех.задание: Запретить при регистрации использовать для логина спец символы:
PHP
^ ) _; *№ ( ?
и т.д., так же запретить логины из одних только цифр и логины в которых есть 5 и более цифр подряд



Спустя 4 дня, 3 часа, 29 минут, 40 секунд (8.11.2009 - 18:57) PandoraBox2007 написал(а):
нашол решение
if ( preg_match("/([a-zA-Zа-яА-Я])+([0-9]{6})|(\s)|(\W)/", $user) || empty($user) )
{
echo 'Разрешается использовать только: Русские, Латинские буквы и (цифры до 5 символов) !!';
}

Спустя 18 минут, 40 секунд (8.11.2009 - 19:16) glock18 написал(а):
Цитата
Запретить при регистрации использовать для логина спец символы

это обязательно? может хватит escapeshellcmd?

если обязательно, то без регулярок:
1. реплейсишь все символы на ''.
2. сравниваешь с тем, что было до этого. если не равно, значит символы были.

Цитата
одних только цифр

is_numeric true - значит одни цифры. можно заюзать ctype_num (кажется так). если не так, то смотреть функции ctype_

Цитата
которых есть 5 и более цифр подряд

если и это охота без регулярок, то можно:
1. идти тупо посимвольно и вести счетчик.
2. берешь 5 первых символов. проверяешь ctype_num'ом (если тру значит попался). далее начиная с 5ого идешь:
если цифра, берешь 4ый, пока не попадется другой символ. от него отсчитываешь еще 4.

повторяешь процедуру на отмеченных пяти символах. (если 4, 5 цифры, а 3 - нет, то это будут 4 - 8).

Спустя 8 часов, 27 минут, 42 секунды (9.11.2009 - 03:44) Dron19 написал(а):
if(preg_match("/[\^\)\(;\*\?]/",$))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.