FlySelf (26.01.2010/19:26)ну само собой, это уже на усмотрение автора
если всё правильно продумать, то риска можно избежать
FlySelf (26.01.2010/19:26)ну само собой, это уже на усмотрение автора
если всё правильно продумать, то риска можно избежать
Значит ставить нельзя эти коды . А жалко даже
почему нельзя?
Олег же сказал взламывают через них сильно сайты
xsrk, Он говорил если автор добавит тег для картинок, на данный момент код безопасен
ну во первых Олег говорит про код цвета текста. но его исправляли. как вы читаете%)
Добавил новые теги!
[img]прямой_адрес_до_изображения[/img]
[size=размер_текста]текст[/size] - размер задается в пикселях от 4 до 48
Добавленный и обновленный код:
// код для тега SIZE и IMG
// добавляется в функцию tags()
$var = preg_replace_callback('#\[size=([0-9]{1,2})\](.*?)\[/size\]#si',
create_function(
'$data',
'if(intval($data[1])>48) {
$data[1] = 48;
} elseif (intval($data[1])<4) {
$data[1] = 4;
}
return "<span style=\"font-size:{$data[1]}px\">{$data[2]}</span>";
'
), $var);
// В уже знакомое выражение обработки URL встроена обработка IMG
$var = preg_replace_callback('`\\[url=((?:http|ftp)+s?://.+?)\\](.+?)\\[/url\\]|((?:http|ftp)+s?://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%\-\+:#]*)|\[img\]((?:http|ftp)+s?://[a-zA-Z0-9\-\_\+\.\%\~\/]+?\.(?:jpeg|jpe|jpg|gif|png|tga|tif|tiff|bmp))\[/img\]`', 'url_replace', $var);// В функцию w_gHide() была встроена проверка изображения на валидность
function w_gHide($gh){
// gHide valid finction by SunRise
// Допольнительно в функцию добавлена обработка тэга IMG от SunRise
// Данной функцией обрабатывать ВХОДЯЩИЕ данные
global $user_id, $rights;
// Обработчик тэга IMG
if(preg_match('#\[img\](.*?)\[\/img\]#si', $gh))
{
if(preg_match('#\[img\]((?:http|ftp)+s?://[a-zA-Z0-9\-\_\+\.\%\~\/]+?\.(?:jpeg|jpe|jpg|gif|png|tga|tif|tiff|bmp))\[\/img\]#si', $gh))
{
return preg_replace_callback('#\[img\]((?:http|ftp)+s?://[a-zA-Z0-9\-\_\+\.\%\~\/]+?\.(?:jpeg|jpe|jpg|gif|png|tga|tif|tiff|bmp))\[\/img\]#si',
create_function(
'$data',
'$img = @getimagesize($data[1]);
if(!empty($img) && is_array($img) && in_array($img[\'mime\'], array(\'image/gif\', \'image/jpeg\', \'image/png\', \'image/tga\', \'image/bmp\', \'image/tiff\')) && $img[0] > 10 && $img[1] > 10)
{
return \'[img]\' . $data[1] . \'[/img]\';
}
else
{
return \'[Неверное изображение в тэге!!!]\';
}'
), $gh);
}
else
{
return preg_replace('#\[img\](.*?)\[\/img\]#si', '[Неверный формат адреса в тэге!!!]', $gh);
}
}
// *******************
if(preg_match('#\[ghide=(.*?)\](.*?)\[\/ghide\]#si',$gh))
{
if($rights>=2)
{
return $gh;
}
else
{
return '[Не хулигань!]';
}
}
elseif(preg_match('#\[ghide\](.*?)\[\/ghide\]#si',$gh))
{
return preg_replace('#\[ghide\](.*?)\[\/ghide\]#si', '[ghide=' . $user_id . ']\1[/ghide]', $gh);
}
else
{
return $gh;
}
}
// В функцию парсинга было встроено выражение вывода IMG
function url_replace($m) {
// Служебная функция парсинга URL (прислал FlySelf)
// Втсавка кода обработки тега IMG от SunRise
if(isset($m[5]))
{
$matches = array('%3C','%3E','%26','%26','%22','%3A','%28','%29');// отчистка от символов < > & ' " : ( ) в URL формате
$m[5] = str_replace($matches, '', $m[5]);
return '<img src="'.$m[5].'" alt="'.$m[5].'" stryle="border:0" />';
}
else
{
if (!isset($m[3]))
{
return '<a href="' . $_SERVER['DOCUMET_ROOT'] . '/ol.php?ol=' . urlencode(base64_encode($m[1])) . '">' . $m[2] . '</a>';
}
else
{
$lText = '';
if(mb_strlen($m[3])>70) $lText = mb_substr($m[3],0,70) . '...'; else $lText = $m[3];
return '<a href="' . $_SERVER['DOCUMET_ROOT'] . '/ol.php?ol=' . urlencode(base64_encode($m[3])) . '">' . $lText . '</a>';
}
}
}а бузопасен тег IMG?
Безопасен![]()
Хотелось бы услышать ответ подробней! просто если я неошибаюсь то олег что то говарил плохое об этом теге