1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Срочнo, важная инфа для всех у кого влючены img тэги

Discussion in 'Моды - Mods' started by GumSlone, Oct 10, 2009.

  1. GumSlone Thread starter User


    Offline
    Message Count:
    85
    Likes Received:
    8
    Советую всем у кого включены img тэги - уберите их!
    если ктото напишет img тэг :
    PHP:
    <img src="./logout.php"/>
    вам в комментарии то каждый кто откроет страничку комментариев автоматически вийдет с системы сайта.
    это я навел простой пример, таким способом можно начудить на много больше, например сделать чтоб пользаватель удалялся автоматически.
  2. Prado Challenge Everything


    Offline
    • Admin
    Message Count:
    3,191
    Likes Received:
    786
    My version of phpFox:
    3.0.0
    Какие предложения по решению?
  3. SpartakuS User


    Offline
    • Знаменитый
    Message Count:
    797
    Likes Received:
    82
    Да это глобальная дыра......
  4. GumSlone Thread starter User


    Offline
    Message Count:
    85
    Likes Received:
    8
    проверять img тэг на тип файла *jpg png и gif,
    скрипт для решения я еще не написал, надо сперва погуглить может уже ктото написал похожий вариант скрипта.
    еще можно дополнительно установить свой скрипт который будет обрабатывать экстерную картинку.
    напр. вставлять дополнительно в src="http://mysite.com/logout.php" вот такое src="image_check.php?file=http://mysite.com/logout.php"
    а image_check.php будет проверять картинка это или нет например способом:getimagesize(string filename [, array &imageinfo]);
  5. SpartakuS User


    Offline
    • Знаменитый
    Message Count:
    797
    Likes Received:
    82
    http://img.leprosorium.com/678862
  6. GumSlone Thread starter User


    Offline
    Message Count:
    85
    Likes Received:
    8
    решить проблему с помошью regex мне не удалось....



    временное решение, юзать bbкоды.

    а вот инструкция:
    открываем include/class_comments.php и ставим перед:
    PHP:
    }

    ?>
    вот это:
    PHP:
    function bbcode_format ($str) {  
        
    #$str = htmlentities($str);  
      
        
    $simple_search = array(  
                    
    //added line break  
                    
    '/\[br\]/is',  
                    
    '/\[b\](.*?)\[\/b\]/is',  
                    
    '/\[i\](.*?)\[\/i\]/is',  
                    
    '/\[u\](.*?)\[\/u\]/is',  
                    
    #'/\[url\=(.*?)\](.*?)\[\/url\]/is',  
                    
    '/\[url\](.*?)\[\/url\]/is',  
                    
    '/\[align\=(left|center|right)\](.*?)\[\/align\]/is',  
                    
    '/\[img\](.*?)\[\/img\]/is',  
                    
    '/\[mail\=(.*?)\](.*?)\[\/mail\]/is',  
                    
    '/\[mail\](.*?)\[\/mail\]/is',  
                    
    '/\[font\=(.*?)\](.*?)\[\/font\]/is',  
                    
    '/\[size\=(.*?)\](.*?)\[\/size\]/is',  
                    
    '/\[color\=(.*?)\](.*?)\[\/color\]/is',  
                      
    //added textarea for code presentation  
                   
    '/\[codearea\](.*?)\[\/codearea\]/is',  
                     
    //added pre class for code presentation  
                  
    '/\[code\](.*?)\[\/code\]/is',  
                    
    //added paragraph  
                  
    '/\[p\](.*?)\[\/p\]/is',  
                    );  
      
        
    $simple_replace = array(  
                    
    //added line break  
                   
    '<br />',  
                    
    '<strong>$1</strong>',  
                    
    '<em>$1</em>',  
                    
    '<u>$1</u>',  
                    
    // added nofollow to prevent spam  
                    #'<a href="$1" rel="nofollow" title="$2 - $1">$2</a>',  
                    
    '<a href="$1" rel="nofollow" title="$1">$1</a>',  
                    
    '<div style="text-align: $1;">$2</div>',  
                    
    //added alt attribute for validation  
                    
    '<img src="image_check.php?src=$1" alt="" />',  
                    
    '<a href="mailto:$1">$2</a>',  
                    
    '<a href="mailto:$1">$1</a>',  
                    
    '<span style="font-family: $1;">$2</span>',  
                    
    '<span style="font-size: $1;">$2</span>',  
                    
    '<span style="color: $1;">$2</span>',  
                    
    //added textarea for code presentation  
                    
    '<textarea class="code_container" rows="30" cols="70">$1</textarea>',  
                    
    //added pre class for code presentation  
                    
    '<pre class="code">$1</pre>',  
                    
    //added paragraph  
                    
    '<p>$1</p>',  
                    );  
      
        
    // Do simple BBCode's  
        
    $str preg_replace ($simple_search$simple_replace$str);  
      
        
    // Do <blockquote> BBCode  
        
    $str $this->bbcode_quote ($str);  
      
        return 
    $str;  
    }  
      
      
      
    function 
    bbcode_quote ($str) {  
        
    //added div and class for quotes  
        
    $open '<blockquote><div class="quote">';  
        
    $close '</div></blockquote>';  
      
        
    // How often is the open tag?  
        
    preg_match_all ('/\[quote\]/i'$str$matches);  
        
    $opentags count($matches['0']);  
      
        
    // How often is the close tag?  
        
    preg_match_all ('/\[\/quote\]/i'$str$matches);  
        
    $closetags count($matches['0']);  
      
        
    // Check how many tags have been unclosed  
        // And add the unclosing tag at the end of the message  
        
    $unclosed $opentags $closetags;  
        for (
    $i 0$i $unclosed$i++) {  
            
    $str .= '</div></blockquote>';  
        }  
      
        
    // Do replacement  
        
    $str str_replace ('[' 'quote]'$open$str);  
        
    $str str_replace ('[/' 'quote]'$close$str);  
      
        return 
    $str;  
    }  
    потом ищем функцию: comment_list(

    и ниже там где:
    PHP:
    'comment_body' => $comment_info[$this->comment_type.'comment_body'],
    заменяем на:
    PHP:
    'comment_body' => $this->bbcode_format($comment_info[$this->comment_type.'comment_body']),
    теперь создаем файл в главной папке сайте под названием image_check.php
    и вставляем в него вот это:
    PHP:
    <?

    $image_info getimagesize($_GET['src']);
    if(
    $image_info['mime'] == 'image/gif'||$image_info['mime'] == 'image/jpeg'||$image_info['mime']=='image/png')
    {
      
    header ('HTTP/1.1 301 Moved Permanently');
      
    header ('Location: '.$_GET['src']);
    }
    else 
    {
      
    header ('HTTP/1.1 301 Moved Permanently');
      
    header ('Location: ./wattermark.png');
    }
    ?>
    и последний шаг, создаем png картинку с лого вашего сайта и заливаем ее на сайт под названием wattermark.png

    теперь если в ббкод для картинок тото вставит место картинки другой файл - скрипт image_check.png покажет картинку wattermark.png
  7. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    А для этих комментариев подойдёт это решение?
  8. GumSlone Thread starter User


    Offline
    Message Count:
    85
    Likes Received:
    8
    да должно, там просто место html кода надо сделать чтоб bbкоди вставлялись.
  9. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Отписал в ЛС.
  10. galstuk Famous member


    Offline
    • Знаменитый
    Message Count:
    398
    Likes Received:
    151
    Блин,парни! Вроде профи сидят тут, а убили наповал! Нафиг изобретать какие-то фильтры, тег img отключать, когда САМЫЙ ЛУЧШИЙ ФИЛЬТР у каждого есть в админке!!!
    Занесите просто в "черный список" слово .php и наслаждайтесь картинками. И никто разлогиневаться не будет! Он просто расширение заменит звездочками "****"

Share This Page

All rights reserved SocEngine.ru ©