За последние 24 часа нас посетил 51401 программист и 1759 роботов. Сейчас ищут 870 программистов ...

Обработка тэгов

Тема в разделе "Прочие вопросы по PHP", создана пользователем rkit, 7 июл 2007.

  1. rkit

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

    С нами с:
    27 май 2007
    Сообщения:
    87
    Симпатии:
    0
  2. host

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

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
  3. rkit

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

    С нами с:
    27 май 2007
    Сообщения:
    87
    Симпатии:
    0
    host, спасибо.
    То что нужно.
     
  4. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Только не забывайте и атрибуты разрешенных тэгов проверять.
     
  5. rkit

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

    С нами с:
    27 май 2007
    Сообщения:
    87
    Симпатии:
    0
    Sergey89
    Атрибуты? Ну если токо у <img> и <a>.
    Они тоже это функцией проверяются?
     
  6. rkit

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

    С нами с:
    27 май 2007
    Сообщения:
    87
    Симпатии:
    0
    Может и глупый вопрос но все же....
    На форумах когда пишешь сообщение тэги не в таких скобках <> а в квадратных [] ?
    Зачем так?
    [/i][/list][/list][/code][/css][/html][/sql][/php]
     
  7. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Это BBCodes
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    rkit а атрибуты если не только ты пользуешься формой надо обязательно проверять
    а то под видом картинки могут дать ссылку на скриптец а это уже XSS и соотвественно дыра в безопасности
     
  9. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Большая дыра от атрибутов on*.
    Код (Text):
    1. <img src="image.jpg" onload="alert(''Hello!)" />
     
  10. rkit

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

    С нами с:
    27 май 2007
    Сообщения:
    87
    Симпатии:
    0
    Ага. Понял.
    Тоесть разрешить получается только атрибут src для тэга img
    Спасибо![/img]
     
  11. antonn

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

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    затем, чтобы можно было без напряга отредактировать сообщение. Ну и плюс в том что хранится не "чистый" html.
    ну и то, что кроме , который будет заменяться скриптом как <img> - ничего лишнего никто не добавит.
    да еще и стили для каждого такого фрагмента можно использовать%)
     
  12. rkit

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

    С нами с:
    27 май 2007
    Сообщения:
    87
    Симпатии:
    0
    Тоесть я сделаю кнопочки (img,url,b)
    Юзер ввел допустим:

    Код (Text):
    1. [img]http://user.ru/images.jpg[/img]
    Скрипт все это сохраняет, потом когда надо это вывести я пишу:
    Код (Text):
    1.  
    2.      $t = strtr($text,"[img]", "<img src=" ");
    3.      $t = strtr($text,"[/img]", " "></img>");
    4.      echo $t;
    Тоесть получается
    Код (Text):
    1.  [img]http://images.ru/images.jpg[/img]
    поменяется на <img src="http://images.ru/images.jpg"></img>

    Если сделать так:
    Код (Text):
    1.  
    2.      $t = strtr($text,"[img]", "<img>");
    3.      $t = strtr($text,"[/img]", "</img>");
    4.      echo $t;
    То нужно проверять атрибуты тэга. (кстать как проверить атрибуты тэга?)
    В первом случае получается не надо?[/code]
     
  13. antonn

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

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    в первом случае сам в скрипте все делаешь, как тебе надо, во втором нужно подчищать за юзером, да и редактирование проблематичным становится. Я так за теги типа [] :)
     
  14. rkit

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

    С нами с:
    27 май 2007
    Сообщения:
    87
    Симпатии:
    0
    Ну значит нормально реализовано у меня? С точки зрения безопастности.
    Делую как в первом случае...
     
  15. antonn

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

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Код (Text):
    1. $text = preg_replace("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#sie","'<img src=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\'>'",$text);
    (c) php-fusion :)
     
  16. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    и при этом модификатор
    Код (Text):
    1. /i
    . Где логика? :?
     
  17. antonn

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

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    все вопросы к php-fusion :))
     
  18. rkit

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

    С нами с:
    27 май 2007
    Сообщения:
    87
    Симпатии:
    0
    У кого нить имеется нормальная библиотека bbcode
    Типа как http://xbb.uz