Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Комбинирование функций защиты

Сообщения:  [1-10]   [11-17] 

 
 автор: cheops   (03.03.2005 в 07:04)   письмо автору
 
   для: evgen_17   (03.03.2005 в 00:05)
 

Хм... а у меня этот пример нормально отрабатывает.

   
 
 автор: evgen_17   (03.03.2005 в 00:05)   письмо автору
 
   для: cheops   (02.03.2005 в 23:34)
 

Пмшу:

$div = "Только-указанные-символы";
$uid = "|^[-_а-яa-z0-9]+$|i"; 
if(!preg_match($uid, $div)) 

echo "<table><tr><td><font color=red>Неверный ввод!</font><br></td></tr></table>";
            $err = "yes";


$uid = Логин. Я пишу "Имя_Пользователя" в поле "Логин" А мне выдаётся сообщение "Неверный ввод!" И в поле "Логин" вставляется |^[-_а-яa-z0-9]+$|i... Что тут не так?

   
 
 автор: cheops   (02.03.2005 в 23:34)   письмо автору
 
   для: evgen_17   (02.03.2005 в 23:26)
 

Подходящее регулярное выражение описывается по теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=834

   
 
 автор: evgen_17   (02.03.2005 в 23:26)   письмо автору
 
   для: cheops   (02.03.2005 в 23:23)
 

Значит чтобы можно было использовать русские буквы нужно что0то другое придумать? Но как это заменить? Функция то хорошо работает...

   
 
 автор: cheops   (02.03.2005 в 23:23)   письмо автору
 
   для: evgen_17   (02.03.2005 в 20:53)
 

Функция ctype_alnum() возвращает true, если строка $u содержит только цифры и буквы английского алфавита и false - если это не так. Эта функция соответствует следующему регулярному выражению
<?php
  preg_match
('/^[a-z0-9]*$/i'$u);
?>

   
 
 автор: evgen_17   (02.03.2005 в 20:53)   письмо автору
 
   для: cheops   (27.02.2005 в 23:08)
 


<? 
if (!ctype_alnum($u) || strlen($u) < || strlen($u) > 10) { 
            echo 
"<font color=red>Логин должен содержать от 4 до 10 символов. (буквы и цифры)</font><br>"
            
$err "yes"
}    
?>

Разрешает вводить Логин только на английском иначе ничего в БД не заносится. Почему???

   
 
 автор: evgen_17   (01.03.2005 в 19:34)   письмо автору
 
   для: Atom   (28.02.2005 в 23:55)
 

Как же я воспользуюсь константой, если то, что должно быть короче 10 и длиннее 4 символов напрямую зависит от того, что введёт пользователь?

   
 
 автор: Atom   (28.02.2005 в 23:55)   письмо автору
 
   для: evgen_17   (28.02.2005 в 23:11)
 


<?
if (!ctype_alnum($u) || strlen($u) < || strlen($u) > 10) {
            echo 
"<font color=red>Логин должен содержать от 4 до 10 символов. (буквы и цифры)</font><br>";
            
$err "yes";
}   
?>

Мне кажется вместо переменной лучше воспользоватся константой. Так безопаснее.
Но может я ошибаюсь.

   
 
 автор: evgen_17   (28.02.2005 в 23:11)   письмо автору
 
   для: cheops   (28.02.2005 в 22:16)
 

С этим вроде разобрался...
Использовал

<?
if (!ctype_alnum($u) || strlen($u) < || strlen($u) > 10) {
            echo 
"<font color=red>Логин должен содержать от 4 до 10 символов. (буквы и цифры)</font><br>";
            
$err "yes";
}   
?>

Можно узнать как использовать регулярное выражение preg_macth? Например мне нужно чтобы можно было ипользовать русские и английские буквы верхнего и нижнего регистра, знак подчёркивания, тире и цыфры...
И кстате использование такого ограничения на ввод e-mail

<?
if (!preg_match("/^[-0-9a-z_]+@[-0-9a-z_^\.]+\.[a-z]{2,3}$/i"$email)) 

 echo 
"<font color=red>Поле E-mail должно содержать запись вида mail@mail.ru"

?>

всё равно позволяет ввести код скрипта после знака ";"... как от этого защититься?

   
 
 автор: cheops   (28.02.2005 в 22:16)   письмо автору
 
   для: evgen_17   (28.02.2005 в 21:25)
 

А данный код и не ограничивает число символов - он просто берёт первые 10 из введённых - или и в базу попадает 20?

   

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования