За последние 24 часа нас посетили 63018 программистов и 1739 роботов. Сейчас ищет 901 программист ...

Как прикрутить правильно класс фильтра к паролю

Тема в разделе "PHP для новичков", создана пользователем Invision, 31 окт 2010.

  1. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Вот пример я подключаю фильтр к логину

    Код (Text):
    1. ....
    2.  
    3. $login = $filter->html_filter($_POST['login']);
    4.  
    5. if($filter->latin($_POST['login'])) {
    6. exit("В логине найдены недопустимые значения.'");
    7. } else {
    8. }
    9. ...
    вопрос: как правильно прикрутить к паролю фильтр:

    Код (Text):
    1. $pass1=md5($pass1);
    Просто пытаюсь понять ведь уже занято md5 куда и как вкрутить $filter->html_filter

    Понимаю звучит глупо очень возможно, но я учусь строго не судите))
     
  2. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    Что за фильтр?
     
  3. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    да валидатор похоже
     
  4. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Это класс вот кусок:

    Код (Text):
    1. <?php
    2.  
    3. class filter {
    4.  
    5. public function html_filter($input) {
    6.  
    7. $text = preg_replace('%&\s*\{[^}]*(\}\s*;?|$)%'
    8. , '', $input);
    9. $text = preg_replace('/[<>]/', '', $text);
    10.  
    11.         if(!get_magic_quotes_gpc()) {
    12.         $text = addslashes($text);
    13.         }
    14. $badwords = array('input', 'union', 'script', 'select', 'update', 'script', 'www', 'http', '.ru');
    15.         $text = str_replace($badwords, '', $text);
    16.  
    17. return $text;
    18.  
    19. }
    20. public function latin($input) {
    21.  
    22.         if(preg_match('/[^a-zA-z0-9_]/i', $input)) {
    23.         return true;
    24.         } else {
    25.         return false;
    26.         }
    27. }
    28.  
    29.  
    30. }
    31. ?>
     
  5. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    А если ты пароль обращаешь в MD5, зачем фильтр? На выходе всё равно 32 цифробуквы
     
  6. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    просто у меня там можно любое значение вводить, а разве не могут дырой sql inj воспользоваться? не фильтруются же значения \* или -- итп ^_^ мб я туплю)
     
  7. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    что бы не делали логинов ~+~Г/\ОDiaТар-ВaC9|~+~
    :D
     
  8. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    ааааа вот кто такие ники делает, попался :D
    Я все видел!11 Ухахахахах :D
     
  9. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    он про пароли спрашивает, а не про ники
     
  10. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Да блин не вопрос это был! логин фильтруется, мыло и другие поля, просто про пароль спросил)
     
  11. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Ensiferum
    ет, ладно, сообщение куда пропало?))

    Invision
    тебе Ensiferum ответил но зачем то удалил сообщение, оО, ненадо фильтровать пароль от "злых" символов)
     
  12. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    Invision
    Ты хочешь прикрутить latin к паролю?

     
  13. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    Padaboo
    Я часто так делаю - удаляю свои посты
     
  14. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    аха как я не догадался, спасибо ))
     
  15. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    взрыв мозга)
     
  16. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Последний вопрос как сделать чтобы в значение email добавлялись только емайлы с собакой =)
     
  17. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    PHP:
    1.  
    2. <?php            
    3. if(!preg_match("/^[^@]*@[^@]*\.[^@]*$/", $mail) ){
    4.    exit;
    5. }
     
  18. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    PHP:
    1. <?php
    2. if (preg_match('^[-\'+\\./0-9=?A-Z_a-z]+'. '@'.'[-\'+\\/0-9=?A-Z_a-z]+\.'.'[-\'+\\./0-9=?A-Z_a-z]+$', $email)) {
    3. echo 'Всё в ажуре';
    4. } else {
    5. echo 'Херня какая-то';
    6. }
     
  19. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    не не я не о том) по моей памяти есть короткое значение добавляешь, типо только цифры или только буквы или емаил) вот)
     
  20. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    Ты составь предложение правильно.
     
  21. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    проще говоря на мыло фильтр не нужен. Вот регистрируешься ты на сайте в форме мыла вводишь к примеру "wowa" у тебя будет ругаться мол собачки нету введено не правильно ) вот)
     
  22. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    Если ты только по наличии собачки определяешь валидность адреса, то
    PHP:
    1. <?
    2. if (strpos('@',$email)===false) {
    3. exit('Нет собачки');
    4. }
    Но граммотней будет регуляркой проверить
     
  23. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?php
    2.  
    3. if(filter_var([email='email@email.com]'email@email.com[/email]', FILTER_VALIDATE_EMAIL) !== false) {
    4. // Всё в порядке
    5. } else exit("Неверный E-Mail");
    6.  
    7. ?>
    Будем опять яйцами меряться?
     
  24. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Apple спасибо да я об этом и говорил!
     
  25. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    Apple
    Про filter_var не знал. Спасибо за инфо.
    У меня 2. У кого больше?