ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

понимание тэгов в пхп
  #1  
Старый 01.02.2008, 15:45
Аватар для zoron
zoron
Познающий
Регистрация: 17.11.2007
Сообщений: 30
Провел на форуме:
107468

Репутация: 0
По умолчанию понимание тэгов в пхп

вопщем вопросец такой например забиваю я новость в бд указываю там например [img]сылка на картинку[/img] как сделать так чтобы при выводе этого сообщения появилась картинка?
 
Ответить с цитированием

  #2  
Старый 01.02.2008, 15:52
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

Перед выводом проводить ответ бд через регулярки...
Что-то типа:
PHP код:
$img preg_replace("#^(img|src)?[a-z0-9\.-]+\.[jpg|jpeg|gif]{1,3}$#""<img src=\"\\1\" border='0'/>" 
Только вот неуверен что моя регулярка верная =)
 
Ответить с цитированием

  #3  
Старый 01.02.2008, 16:04
Аватар для Piflit
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

PHP код:
preg_match("#\[img\](.*)\[/img\]#"$stroka_iz_db$arr);
echo 
"<img src=\"$arr[1]\">"

Последний раз редактировалось Piflit; 01.02.2008 в 16:51..
 
Ответить с цитированием

  #4  
Старый 01.02.2008, 16:06
Аватар для Macro
Macro
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме:
1845062

Репутация: 1079


По умолчанию

PHP код:
$text=preg_replace('|\[img\](.*)\[/img\]|is','<img src="\1">',$db); 
PS этот код небезопасен
 
Ответить с цитированием

  #5  
Старый 01.02.2008, 16:16
Аватар для NOmeR1
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме:
6023777

Репутация: 2642


Отправить сообщение для NOmeR1 с помощью ICQ
По умолчанию

PHP код:
<?php
    $text 
'..........[img]http://forum.antichat.ru/antichat/pic/logo.gif[/img]..............';
    
$text preg_replace('~\[img\](http(s)?://[^\x27\x22\x3E\x3C]+)\[/img\]~isU''<img src="\\1" />'htmlspecialchars($text));
    echo 
$text;
?>
Думаю это будет безопасно.

Последний раз редактировалось NOmeR1; 01.02.2008 в 16:46..
 
Ответить с цитированием

  #6  
Старый 01.02.2008, 16:32
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

Nomer1 , гыгы)

PHP код:
<?php
    $text 
'..........[img]http://"\><a href="#" onmouseover="alert(\'xss\')"><b>x4x0r</b></a>[/img]..............';
    
$text preg_replace('~\[img\](http(s)?://[^\x27\x22\x3E\x3C]+)\[/img\]~isU''<img src="\\1" />'$text);
    echo 
$text;
?>
 
Ответить с цитированием

  #7  
Старый 01.02.2008, 17:32
Аватар для nc.STRIEM
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

по идеи так надежно
PHP код:
<?
  $text
='[img]http://abcde"fghig.fih/sd[/img]';
  
$text preg_replace('/\[img\]http:\/\/(.*)\[\/img\]/e'"'<img src=\"http://'.str_replace('\"', '%22', '$1').'\">';"$text);  
  echo  
$text;
?>
 
Ответить с цитированием

  #8  
Старый 01.02.2008, 17:39
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

nc.STRIEM,

PHP код:
<?
  $text
='[img]"\'/><a href=\'xaxa\' onmouseover=\'alert(/xss/)\'>XSS</a>[/img]';
  
$text preg_replace('/\[img\]http:\/\/(.*)\[\/img\]/e'"'<img src=\"http://'.str_replace('\"', '%22', '$1').'\">';"$text);  
  echo  
$text;
?>
Я вот думаю...мне написать код или вы еще помучаетесь)))
 
Ответить с цитированием

  #9  
Старый 01.02.2008, 17:43
Аватар для nc.STRIEM
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

в данном коде что ты привел, XSS срабатывает не из за тэга [img], а тут идет обсуждение тэгов img . Обрабатываю строку перед передачей ее регулярке (или в самой регулярке, но это есле она одна) функцией htmlspecialchars() и все будет ок

в данном примере и банальный <script>alert()</script> сработает, и без всяких OnMouseOver итд..

Последний раз редактировалось nc.STRIEM; 01.02.2008 в 17:48..
 
Ответить с цитированием

  #10  
Старый 01.02.2008, 17:50
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

Я привел этот код потому как ты написал что это надежно
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Через прокси на пхп Satell PHP, PERL, MySQL, JavaScript 3 30.01.2008 22:41
Облегчаем понимание Vista: 50 подсказок и трюков FraiDex Windows 3 29.01.2008 18:01
В форуме нашёл уязвимость в обработке тэгов. Вопрос... nopmoc Форумы 14 08.06.2005 10:11



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ