Перейти к публикации

radrigo

Клиенты
  • Публикации

    1 418
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    58

Сообщения, опубликованные пользователем radrigo

  1. 3 часа назад, celsoft сказал:

    В данных вопросах всегда требуются настройки сервера. Наш сервер настроен на работу через внешние прокси. В самом DLE никаких изменений в данном вопросе на нашем сайте нет, мы используем исключительно стандартный скрипт.

    Данный сервис реально защищает от ddos атак?

  2. 2 часа назад, celsoft сказал:

    Вам нужно найти во всех файлах скрипта $_SERVER['REMOTE_ADDR'] и заменить на указанное. Но правильнее настраивать все таки сервер, а не править файлы скрипта

    Внёс изменения, в двух выше указанных файлах, вместо айпи стало написано localhost

    Можетете подсказать в чём может быть проблема?

    60b781a94c4a.png

     

  3. 6 минут назад, webair сказал:

    dle-news.ru на нем

    Никаких особых настроек в нём и движке дле не требуется? Что необходимо было бы учесть при подключении?

    Там сказано что выделяется 1гб. Не совсем понятно. У меня сайт полностью весит 7гб. Или это под кэш?

  4. 45 минуты назад, celsoft сказал:

    Вам нужно найти во всех файлах скрипта $_SERVER['REMOTE_ADDR'] и заменить на указанное. Но правильнее настраивать все таки сервер, а не править файлы скрипта

    Чревато чем нибудь замена кода $_SERVER['REMOTE_ADDR'] в скриптах?

     

    Нашел только в 2 файлах этот код. Всё верно?

    engine\modules\functions.php

    engine\inc\include\functions.inc.php

  5. 2 часа назад, celsoft сказал:

    Это нужно делать в настройках сервера. В DLE этот параметр не меняется. Либо в настройках nginx, либо в настройках апача, в зависимости от того что стоит.

    Вот что ответили в поддержке хостинга

    Цитата

    Заголовки

    proxy_set_header X-Real-IP $
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    по умолчанию настроены для всех сайтов расположенных на услугах виртуального хостинга. В дополнительной настройке данных параметров в данном случае нет необходимости.

    А это ответ .ddos-guard

    Цитата

    Вам необходимо перенастроить скрипты вашего сайта, чтобы они забирали IP адреса из переменной окружения, связанной с заголовками X-Real-IP/X-Forwarded-For
    Например, для PHP это будет $_SERVER['HTTP_X_FORWARDED_FOR'] вместо обычно используемого $_SERVER['REMOTE_ADDR']

     

    Подскажите, возможно ли  как-то быстро внести изменения в скрипты движка, или это сложно?

     

     

     

    32 минуты назад, webair сказал:

    Защита от ддос. Настраивается все быстро и легко, к тому же бесплатно.

    С ip адресами проблем не было.

    Вы про этот сервис https://www.cloudflare.com/?

  6. Здравствуйте.

     

    С недавнего сайт часто досят, хз кому это надо, однако пришлось принять меры, подключил защиту от ddos ddos-guard, сразу появилась проблема, у всех ip стали одинаковые.

     

    В поддержке ddos-guard сказали что реальные IP-адреса клиентов будут передаваться в заголовках X-Real-IP и X-Forwarded-For.
    Для того чтобы сервер учитывал эти заголовки, необходимо дополнительно настроить сервер на обработку этих заголовков.

     

    В IP.Board это делается в админцентре, возможно как-то в DLE так же сделать? Или нужно настраивать сервер?

     

    Заранее признателен за ответ, с уважением, Артём.

  7. Всем привет.

     

    Нашел на просторах интернета модуль погоды, погода берётся с Яндекса. Главное в модуле то, что он кэширует погоду.

     

    Код модуля

    <?php
    $city_id = 26714; //id города, вписать свой, можно узнать тут https://pogoda.yandex.ru/static/cities.xml - параметр city id=
    $cache_lifetime = 7200; //время кэша файла в секундах, 3600=1 час
    $cache_file = 'weather_'.$city_id.'.xml'; // временный файл-кэш
    
    function loadxmlyansex($city_id)
     {
    $url = 'http://export.yandex.ru/weather-ng/forecasts/'.$city_id.'.xml';
    $userAgent = 'Googlebot/2.1 (+http://www.google.com/bot.html)';
    $xml = 'weather_'.$city_id.'.xml';
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
    $output = curl_exec($ch);
    $fh = fopen($xml, 'w');
    fwrite($fh, $output);
    fclose($fh);
     }
    
    if ( file_exists($cache_file) ) {
     $cache_modified = time() - @filemtime($cache_file);
     if ( $cache_modified > $cache_lifetime )
    
    {
    //обновляем файл погоды, если время файла кэша устарело
    loadxmlyansex($city_id);
    }
    }
    else {
    //если нет файла погоды вообще, закачиваем его
    loadxmlyansex($city_id);
    }
    ?>
    <?php
    if(file_exists($cache_file)):
    $data = simplexml_load_file($cache_file); ?>
    <style type="text/css">
    html, body {margin:0px;padding:0px;border:none;font-family:Tahoma, "Trebuchet MS", Helvetica, sans-serif;line-height}
    .vsepog {width:1000px; height:63px;background:#FFFFFF url(/images/icons.png) 0 -455px}
    .pogpere{float:left;width:206px;text-align:center;color:#FFFFFF;font-size:11px}
    .pogpere p{height:22px;font-weight:bold;padding-bottom:8px;margin:5px 0 7px;color:#000000;font-size:13px;}
    .pogpere p img{margin:0 5px -12px 9px}
    .poggl{width:150px;float:left;margin:0 0 0 25px;font-size:11px;color:#FFFFFF}
    .poggl p{font-weight:bold;font-size:15px;color:#000000;margin:10px 0 0;height:32px}
    .poggl span{font-size:12px}
    .poggl a{color:#000;text-decoration:none;-webkit-transition-duration:0.5s;-o-transition-duration:0.5s;-moz-transition-duration:0.5s;transition-duration:0.5s}
    .poggl a:hover{color:#008ED6}
    </style>
    
    <div class="vsepog">
    <?php $counter = 0 ; foreach($data->day as $day): if($counter == 1) break;?>
    <div class="poggl"><p><a target="_top" href="/pogoda/3995-gusev.html">Погода в Гусеве »</a></p>
    <?php echo getDayDate($day['date']);?></div>
    <?php for($i = 0;$i < 4;$i++):
    $img = $day->day_part[$i]->{'image-v3'};?>
    <div class="pogpere"><p>утро<img src="img/<?php echo $img;?>.png" width="30" height="30" /><?php echo getTempSign($day->day_part[$i]->{'temperature-data'}->avg);?> °C</p>
    <?php echo getWindDirection($day->day_part[$i]->wind_direction).' '.$day->day_part[$i]->wind_speed;?> м/с, <?php echo $day->day_part[$i]->pressure;?> мм рт. ст.</div>
    <?php endfor;?>
    <?php $counter++ ; endforeach;?>
    </div>
    
    <?php
    endif;
    // получаем локализованную дату
    function getDayDate($date)
    {
    $date = strtotime($date);
    $months = array('','01','02','03','04','05','06','07','08','09','10','11','12');
    $days = array('<span>в воскресенье</span>','<span>в понедельник</span>', '<span>во вторник</span>', '<span>в среду</span>', '<span>в четверг</span>', '<span>в пятницу</span>', '<span>в субботу</span>');
    return (int)date('d',$date).'.'.$months[date('n', $date)].' '.$days[date('w', $date)];
    }
    // получаем знак температуры
    function getTempSign($temp)
    {
    $temp = (int)$temp;
    return $temp > 0 ? '+'.$temp : $temp;
    }
    // получаем направления ветра
    function getWindDirection($wind)
    {
    $wind = (string)$wind;
    $wind_direction = array('s'=>'южн','n'=>'сев','w'=>'зап','e'=>'вос','sw'=>'ю-з','se'=>'ю-в','nw'=>'с-з','ne'=>'с-в');
    return $wind_direction[$wind];
    }
    ?>

     

    А это его результат

    http://гусев.рф/engine/modules/pogoda/cesh/pog_cesh_utf.php

     

     

    Как можете наблюдать в каждом блоке показывает утро.

     

    Подскажите как сделать чтоб в блоках показывало поочерёдно: утро, день, вечер и ночь

     

    Заранее признателен всем за ответ.

    • Поддерживаю 1
  8. Всем привет.

     

    В личном кабинете google написано "На сайте нет ускоренных мобильных страниц"

     

    b45ffdd22f27.png

     

    Хотя при проверке сайта через тот же google пишет что сайт оптимизирован под мобильные устройства.

     

    0006a73c62d5.png

     

     

    Почему так? Или это совсем другое?

     

    Заранее признателен всем за ответ.

     

  9. 4 минуты назад, odys сказал:

    ясно. Тебе тогда к моему коду нужно ещё писать регулярное выражение, чтобы вырезалось всё, кроме ссылки на картинку.

    Я лично у себя в проекте использую 2 поля, в одно вставляю оригинальную, во второе превью. Поэтому в доп. полях у меня только ссылка и всё хорошо работает.

    я с регулярками вообще не дружу, поэтому помочь не могу

    Ясно, печаль конечно. Спасибо что пытался помочь.

  10. 1 час назад, odys сказал:

    а как ты прописываешь картинку в доп. поле? и пропиши вновь в show.full.php, чтобы хоть глянуть исходный код мог

    Тип доп. поля "Несколько строк", картинку прописываю как и новость, порой там не только картинку прописываю, но и источник картинки.

     

    Только понял что вставляется всё содержимое в мегатег.

    <meta property="og:image" content="<!--dle_image_begin:http://www.gusev-online.ru/uploads/posts/2016-02/1455362730_00.jpg|--><img src="/uploads/posts/2016-02/1455362730_00.jpg" alt="В Гусеве состоялась III литературная встреча учащихся и педагогов Калининградской области" title="В Гусеве состоялась III литературная встреча учащихся и педагогов Калининградской области"  /><!--dle_image_end-->" />

     

  11. В 11.02.2016в13:54, odys сказал:

    я делал так:

    найти

    
    if ( count($images) ) $social_tags['image'] = $images[0];

    заменить на

    
    // if ( count($images) ) $social_tags['image'] = $images[0];
    
    $xfieldsdata = xfieldsdataload( $row['xfields'] );
    if ($xfieldsdata['img'] != NULL) {
    	$social_tags['image'] = $xfieldsdata['img'];
    } elseif ( count($images) ) {
    	$social_tags['image'] = $images[0];
    } else {
    	$social_tags['image'] = 'http://www.menville.net/uploads/menville.png';
    }

    могу ошибаться, но вроде эта чать...

    img - это идентификатор доп. поля

    Наконец-то появилось время попробовать.

     

    Заменяю в show.full.php

    if ( count($images) ) $social_tags['image'] = $images[0];

     

    на такой код

    // if ( count($images) ) $social_tags['image'] = $images[0];
    
    $xfieldsdata = xfieldsdataload( $row['xfields'] );
    if ($xfieldsdata['foto'] != NULL) {
    	$social_tags['image'] = $xfieldsdata['foto'];
    } elseif ( count($images) ) {
    	$social_tags['image'] = $images[0];
    } else {
    	$social_tags['image'] = 'http://www.gusev-online.ru/uploads/gusev.png';
    }

     

    Картинка в мегатеге прописывается из доп. поля "foto", однако в верху сайта появился непонятный кусок кода

    a5090994f2e9.png

  12. Всем привет.

     

    Продублирую свой вопрос в этой ветке.

     

    Подскажите, возможно ли сделать чтоб мегатег с фото сначала прописывался из доп полей?

     

    <meta property="og:image" content="http://www.sait.ru/uploads/posts/2016-01/thumbs/1453201814_foto.jpg" />

     

     

    Сейчас так, цитирую celsoft

    Цитата

    из полной, если заполена полная новость и из краткой если полная новость не заполнена и из доп. полей, если картинки нет ни в краткой и ни в полной.

     

     

    Допустим вот новость

    http://www.gusev-online.ru/news/obshestvo/5904-gendirektor-ao-yantarenergo-prokommentiroval-situaciyu-s-platezhkami-za-teplo-v-guseve.html

    В ней  фото в мегатеге прописано маленькое из краткой новости, что не очень красиво при публикации в соц сети.

     

    По мойму это не правильно.

     

    Заранее признателен за подсказку.

  13. background: #61a117 url("../images/pagebg.png") repeat-x 50% 0; 

    Первоначально загружается весь код, html, css, порой картинки грузятся гораздо медленнее, чтоб не было сильного контраста после их загрузки. Или если и вовсе загрузка картинок отключена у пользователя.

     

    Цитата

    И наконец главный вопрос, как убрать pagebg.png и pagebgfoot.png, а также если не нужен и pagebg.png и сделать заполнение всего фона сверху до низа одним файлом например png или gif размером 150х150 пикселей ?

    Так в чём проблема не пойму? Поменяй путь в css к нужной картинке.

  14. Решил сделать чтоб окно с инфой пользователя всплывало

     

    Сделал так

    $votes = $db->query ( "SELECT u.name FROM ". PREFIX ."_users u INNER JOIN ". PREFIX ."_poll_log p ON (u.user_id = p.member) WHERE p.news_id = '{$row['id']}'" );
    $all_votes = 0;
    while($prow = $db->get_row()){
        $all_votes++;
        if ($config['allow_alt_url'] == "yes") {
            $full_link = "/user/" . stripslashes( $prow['name'] );
        } else {
            $full_link = "/index.php?subaction=userinfo&user=" . stripslashes( $prow['name'] );
        }
        $link = "<a ".$hint." onclick=\"ShowProfile('" . stripslashes( $prow['name'] ) . "', '".$full_link."', '1'); return false;\" href=\"".$full_link."\"><strong>" . stripslashes( $prow['name'] ) . "</strong></a>";
        $all_users .= " ".$link.",";
    	
    }
    $all_users = substr_replace( $all_users, '.', -1, 1 );
    $db->free();

     

    Однако при просмотре пользователей с русскоязычными никами пишет "Пользователь с таким именем не найден."

  15. Я понимаю что нужно внести изменения в код который добавлен в poll.php

    Примерно так, выделил жирным

    Помогите правильно реализовать.

    Цитата

    $votes = $db->query ( "SELECT u.name FROM ". PREFIX ."_users u INNER JOIN ". PREFIX ."_poll_log p ON (u.user_id = p.member) WHERE p.news_id = '{$row['id']}'" );
    $all_votes = 0;
    while($prow = $db->get_row()){
        $all_votes++;
        if ($config['allow_alt_url'] == "yes") {
            $full_link = "/user/" . stripslashes( $prow['name'] );
        } else {
            $full_link = "/index.php?subaction=userinfo&user=" . stripslashes( $prow['name'] );
        }
        $link = "<a title="проголосовал за:  {здесь код который выводит за кого проголосовал}" ".$hint." href=\"".$full_link."\" target=\"_blank\"><strong>" . stripslashes( $prow['name'] ) . "</strong></a>";
        $all_users .= " ".$link.",";
    }
    $all_users = substr_replace( $all_users, '.', -1, 1 );
    $db->free();

     

×
×
  • Создать...