Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Блокировка по символам

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Блокировка по символам
Имя
Сообщение << Старые топики   Новые топики >>
Блокировка по символам - 2009-11-25 20:05:31.280000   
_Pyint0_

Сообщений: 394
Оценки: 0
Присоединился: 2008-12-11 19:02:23.436666
Как на PHP сделать так, что-бы была блокировка на символы?
Т.е. у меня на сайте в форме можно в качестве имени ввести '1' или 'V@СЯ'.
Т.е. Как сделать так, что-бы заблокировать такую возможность?
Буду рад за помощь.
Post #: 1
RE: Блокировка по символам - 2009-11-25 20:22:53.353333   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
Выведи список всех запрещенных символов для начала. Ну или хоть назови их как-то или задай диапазон. А то вопрос пока более чем тупенький
Post #: 2
RE: Блокировка по символам - 2009-11-25 21:25:30.003333   
_Pyint0_

Сообщений: 394
Оценки: 0
Присоединился: 2008-12-11 19:02:23.436666
' " < > % ! $ ^ & * ` = \ / - 1 2 3 4 5 6 7 8 9 вот эти символы. Нужно чтобы скрипт проверял на их наличие. Если есть, вывести сообщение.
Post #: 3
RE: Блокировка по символам - 2009-11-25 22:39:04.573333   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
&lt;?php function spec($stroka) { for($i=0;$i&lt;strlen($stroka);$i++) { if(!preg_match("#[\sa-z]#i",$stroka{$i})) return false; } return true; } $a = "lala"; if (spec($a)) echo "Ok"; else echo "Error"; ?&gt;
Post #: 4
RE: Блокировка по символам - 2009-11-26 09:01:45.896666   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
жесть, посимвольно сравниваешь %)
Post #: 5
RE: Блокировка по символам - 2009-11-26 09:32:29.903333   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
quote:

ORIGINAL: Parano1d

жесть, посимвольно сравниваешь %)


предложи свой оптимальный бесплатный рабочий вариант :)

Шучу, конечно можно и так:

quote:


&lt;?php
$a = "lala la!";
if(preg_match("#[^\sa-z]#i",$a)) echo "Error";
else echo "Ok";
?&gt;
Post #: 6
RE: Блокировка по символам - 2009-11-26 10:46:38.193333   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
&lt;? function clean_string($string, $letters=0) &nbsp;&nbsp;&nbsp; {if (!$letters) &nbsp;&nbsp;&nbsp; $letters= array("'","\"","&lt;","&gt;","%","!","\$","^","&amp;","*","`","=","\\","/","-","1","2","3","4","5","6","7","8","9"); &nbsp;&nbsp;&nbsp; $test=str_split($string); &nbsp;&nbsp;&nbsp; foreach ($test as $key=&gt;$value) &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (in_array($value, $letters)) &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return false; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; return true; &nbsp;&nbsp;&nbsp; } /******************Пример работы***********************/ &nbsp;&nbsp;&nbsp; if (clean_string("Вася")) &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; echo "ok"; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; echo "bad"; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; ?&gt; Я так писал в свое время. Данный скрипт не пропускает указаные символы, но зато может пропустить такие символы, как римується или 棘?? 極?逵勻龜? 極棘剋
Post #: 7
RE: Блокировка по символам - 2009-11-26 18:22:44.056666   
_Pyint0_

Сообщений: 394
Оценки: 0
Присоединился: 2008-12-11 19:02:23.436666
Полностью согласен. Но ведь есть ещё и функции для обработки строк.
Post #: 8
RE: Блокировка по символам - 2009-11-30 18:47:25.160000   
lit87

Сообщений: 13
Оценки: 0
Присоединился: 2009-11-23 20:15:36.443333
if(eregi("[^0-9a-z]",$login))
{
echo "Вы ввели недопустимые символы! Допустимые 0-9a-z"
}
Post #: 9
RE: Блокировка по символам - 2009-12-01 12:49:34.083333   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
quote:

ORIGINAL: lit87

if(eregi("[^0-9a-z]",$login))
{
echo "Вы ввели недопустимые символы! Допустимые 0-9a-z"
}
Ты не совсем прав, потому что ты пропускаеш строку только с символами 0-9a-z, а если ещё нужно кирилицу, умляуты и др. символы, то так не выйдет. Не будешь же все символы перечислять. Хотя, я не сомневаюсь, что автору этого будет достаточно.
Post #: 10
RE: Блокировка по символам - 2009-12-01 17:49:24.420000   
lit87

Сообщений: 13
Оценки: 0
Присоединился: 2009-11-23 20:15:36.443333
а в чем проблема добавить а-яЁ и прочее что нужно

можно сделать тогда наоброт, чтобы оно реагировало на запрещенные символы, но тогда в любом случае запрещенные символы будеш дольше перечислять чем задать пару множеств удовлетворяющих
Post #: 11
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Блокировка по символам







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.