На сайте появилась надпись функции

Тема в разделе "Кодировки, ошибки отображения (крякозябры)", создана пользователем Elle, 10.10.2016.

  1. Offline

    Elle Недавно здесь

    Регистрация:
    10.10.2016
    Сообщения:
    10
    Симпатии:
    0
    Здравствуйте, сайт на Joomla 3.6.2, после ошибки пришлось восстанавливаться через резервную копию. Какие-то модули "слетели". Подкорректировала. Но на сайте которое время красуется надпись Script($url); } } if(!function_exists , в верхнем левом углу. Пыталась найти ошибку сама - не понимаю, гуглила - не нашла. Возможно это ошибка какого-то слетевшего модуля, плагина. Раньше ее не было. Где искать проблему?

     

    Вложения:

    • 55555.jpg
      55555.jpg
      Размер файла:
      45.3 КБ
      Просмотров:
      9
  2.  
  3. Лучший ответ:
    Сообщение #13 от 12.10.2016, автор draff
  4. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 048
    Симпатии:
    520
    Пол:
    Мужской
    А отключить модули и все сторонние плагины
     
  5. Offline

    Elle Недавно здесь

    Регистрация:
    10.10.2016
    Сообщения:
    10
    Симпатии:
    0
    модули отключала, не помогло. Сейчас отключала плагины, обновляла страницу - ничего не меняется. Что за скрипт - я вообще понятия не имею, может еще есть варианты?
    Прикрепляю код
     

    Вложения:

  6. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 048
    Симпатии:
    520
    Пол:
    Мужской
    index.php проверяй на неправильно закрытые теги. Видно в коде что <head> пустой, а служебные мета-теги находятся в <body>
    Проверь как на стандартном шаблоне.
     
    Elle нравится это.
  7. Offline

    Kim_Soal Недавно здесь

    Регистрация:
    12.08.2016
    Сообщения:
    6
    Симпатии:
    0
    Пол:
    Мужской
    или через ftp клиент или консоль пройдитесь по содержимому файлов
    оно должно быть не закодировано

    только не ищите по содержимому с итоговой страницы ( в оригинале, пробелы и абзацы ведь)
    ищите по if(!function_exist например
     
  8. Offline

    Elle Недавно здесь

    Регистрация:
    10.10.2016
    Сообщения:
    10
    Симпатии:
    0
    На стандартном шаблоне все отлично! На другом стороннем шаблоне эта надпись видна во время загрузки страницы (меньше секунды) и все, все нормально. Index.HTML пустые
    (<html><body></body></html>)
    Файл проверила, прикрепляю его под спойлером (файл из шаблона, который на данный момент работает с ошибкой), иначе бесконечное сообщение получится
    Код (PHP):
    1. <?php
    2.  
    3. /**
    4.  *
    5.  * Main file
    6.  *
    7.  * @version             3.0.0
    8.  * @package             Gavern Framework
    9.  * @copyright            Copyright (C) 2010 - 2012 GavickPro. All rights reserved.
    10.  *              
    11.  */
    12.  
    13. // No direct access.
    14. defined('_JEXEC') or die;
    15. if(!defined('DS')){ define('DS',DIRECTORY_SEPARATOR); }
    16. // enable showing errors in PHP
    17. ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT);
    18. ini_set('display_errors','Off');
    19. // include framework classes and files
    20. require_once('lib/gk.framework.php');
    21. require_once('lib/framework/gk.const.php');
    22. // Add JavaScript Frameworks
    23. JHtml::_('bootstrap.framework');
    24. // run the framework
    25. $tpl = new GKTemplate($this, $GK_TEMPLATE_MODULE_STYLES);
    26.  
    27. // EOF

    А это файл который находится в корне сайта, тот же index.php
    Код (PHP):
    1. <?php
    2. /**
    3.  * @package    Joomla.Site
    4.  *
    5.  * @copyright  Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
    6.  * @license    GNU General Public License version 2 or later; see LICENSE.txt
    7.  */
    8.  
    9. /**
    10.  * Define the application's minimum supported PHP version as a constant so it can be referenced within the application.
    11.  */
    12. define('JOOMLA_MINIMUM_PHP', '5.3.10');
    13.  
    14. if (version_compare(PHP_VERSION, JOOMLA_MINIMUM_PHP, '<'))
    15. {
    16.     die('Your host needs to use PHP ' . JOOMLA_MINIMUM_PHP . ' or higher to run this version of Joomla!');
    17. }
    18.  
    19. // Saves the start time and memory usage.
    20. $startTime = microtime(1);
    21. $startMem  = memory_get_usage();
    22.  
    23. /**
    24.  * Constant that is checked in included files to prevent direct access.
    25.  * define() is used in the installation folder rather than "const" to not error for PHP 5.2 and lower
    26.  */
    27. define('_JEXEC', 1);
    28.  
    29. if (file_exists(__DIR__ . '/defines.php'))
    30. {
    31.     include_once __DIR__ . '/defines.php';
    32. }
    33.  
    34. if (!defined('_JDEFINES'))
    35. {
    36.     define('JPATH_BASE', __DIR__);
    37.     require_once JPATH_BASE . '/includes/defines.php';
    38. }
    39.  
    40. require_once JPATH_BASE . '/includes/framework.php';
    41.  
    42. // Set profiler start time and memory usage and mark afterLoad in the profiler.
    43. JDEBUG ? $_PROFILER->setStart($startTime, $startMem)->mark('afterLoad') : null;
    44.  
    45. // Instantiate the application.
    46. $app = JFactory::getApplication('site');
    47.  
    48. // Execute the application.
    49. $app->execute();





    по всем словам и частям искала, я так поняла это что-то вроде функции, но названия или указания на функцию нет. Я и дальше продолжаю искать, но пока ничего не могу найти.


    Дополнительно:
    нашла файл framework, в котором есть подобные функции (если ввести поиск по слову exist), но у каждой функции есть название, указание
    Код (PHP):
    1. <?php
    2.  
    3. //
    4. // Function for CSS/JS compression
    5. //
    6.  
    7. class GKTemplateCache {
    8.     //
    9.     private $parent;
    10.     //
    11.     function __construct($parent) {
    12.         $this->parent = $parent;
    13.     }
    14.     //
    15.       function registerCache() {
    16.           $dispatcher = JDispatcher::getInstance();
    17.           $dispatcher->register('onBeforeRender', 'useCache');
    18.      }
    19.    
    20.      function registerJSCompression() {
    21.           $dispatcher = JDispatcher::getInstance();
    22.           $dispatcher->register('onBeforeCompileHead', 'useJSCompression');
    23.      }
    24. }
    25.  
    26.  
    27. if(!function_exists('useCache')){
    28.     function useCache() {
    29.         $document = JFactory::getDocument();
    30.         $cache_css = $document->params->get('css_compression');
    31.         $overwrite = $document->params->get('css_cache');
    32.  
    33.        
    34.         $toAddURLs = array();
    35.         $toRemove = array();
    36.         $scripts = array();
    37.         $css_urls = array();
    38.        
    39.         if($document->params->get('jscss_excluded') != '') {
    40.             $toRemove = explode(',',$document->params->get('jscss_excluded'));
    41.         }
    42.        
    43.        
    44.        
    45.        
    46.         if ($cache_css) {
    47.             foreach ($document->_styleSheets as $strSrc => $strAttr) {
    48.                 if (!preg_match('/\?.{1,}$/', $strSrc) && (!isset($strAttr['media']) || $strAttr['media'] == '')) {
    49.                     $break = false;
    50.                     if(count($toRemove) > 0) {
    51.                         foreach ($toRemove as $remove) {
    52.                             $remove = str_replace(' ', '', $remove);
    53.                             if(strpos($strSrc, $remove) !== false) {
    54.                                 $toAddURLs[] = $strSrc;
    55.                                 $break = true;
    56.                                 continue;
    57.                             }
    58.                         }
    59.                     }
    60.                     if(!$break) {    
    61.                         if (!preg_match('/\?.{1,}$/', $strSrc)) {
    62.                             $srcurl =cleanUrl($strSrc);
    63.                             if (!$srcurl) continue;
    64.                             //remove this css and add later
    65.                             if($srcurl != 'components/com_community/templates/gk_style/css/style.css') {
    66.                                 unset($document->_styleSheets[$strSrc]);
    67.                                 $path = str_replace('/', DS, $srcurl);
    68.                                 $css_urls[] = array(JPATH_SITE . DS . $path, $srcurl);
    69.                             }
    70.        
    71.                             //$document->_styleSheets = array();
    72.                         }
    73.                     }
    74.                 }
    75.             }
    76.         }
    77.        
    78.    
    79.        
    80.         // re-add external scripts
    81.         foreach($toAddURLs as $url) {
    82.             $document->addStylesheet($url);
    83.         }
    84.        
    85.         if ($cache_css) {
    86.             $url = optimizecss($css_urls, $overwrite);
    87.             if ($url) {
    88.                 $document->addStylesheet($url);
    89.             } else {
    90.                 foreach ($css_urls as $urls) {
    91.                     $document->addStylesheet($urls[1]); //re-add stylesheet to head
    92.                 }
    93.             }
    94.         }
    95.     }
    96. }
    97. if(!function_exists('useJSCompression')){
    98. function useJSCompression()
    99.     {
    100.         $js_urls = array();
    101.         $toAddURLs = array();
    102.         $document = &JFactory::getDocument();
    103.         $toRemove = array();
    104.         $break = false;
    105.           if($document->params->get('jscss_excluded') != '') {
    106.                $toRemove = explode(',',$document->params->get('jscss_excluded'));
    107.           }
    108.  
    109.          foreach ($document->_scripts as $strSrc => $strAttr) {
    110.              
    111.                if(count($toRemove) > 0) {
    112.                   foreach ($toRemove as $remove){
    113.                        $remove = str_replace(' ', '', $remove);
    114.                        if(strpos($strSrc, $remove) !== false) {
    115.                              $toAddURLs[] = $strSrc;
    116.                              $break = true;
    117.                              continue;
    118.                        }
    119.                   }
    120.                }
    121.                if(!$break) {        
    122.                $srcurl = cleanUrl($strSrc);
    123.                 unset($document->_scripts[$strSrc]);    
    124.                 if (!$srcurl){
    125.                     $js_urls[] = array($strSrc, $strSrc);
    126.                 } else {
    127.                     $path = str_replace('/', DS, $srcurl);
    128.                     $js_urls[] = array(JPATH_SITE . DS . $path, JURI::base(true) . '/' . $srcurl);
    129.                 }
    130.                }
    131.               $break = false;
    132.           }
    133.          
    134.           // clean all scripts
    135.           $document->_scripts = array();
    136.           // optimize or re-add
    137.        $url = optimizejs($js_urls, false);
    138.        if ($url) {
    139.             $document->addScript($url);
    140.         } else {
    141.             foreach ($js_urls as $urls) $document->addScript($url[1]); //re-add stylesheet to head
    142.          }
    143.           // re-add external scripts
    144.           foreach($toAddURLs as $url) $document->addScript($url);
    145.     }
    146. }
    147. if(!function_exists('cleanUrl')){
    148. function cleanUrl($strSrc) {
    149.         if (preg_match('/^https?\:/', $strSrc)) {
    150.             if (!preg_match('#^' . preg_quote(JURI::base()) . '#', $strSrc)) return false; //external css
    151.             $strSrc = str_replace(JURI::base(), '', $strSrc);
    152.         } else {
    153.             if (preg_match('/^\//', $strSrc)) {
    154.                 if (!preg_match('#^' . preg_quote(JURI::base(true)) . '#', $strSrc)) return false; //same server, but outsite website
    155.                 $strSrc = preg_replace('#^' . preg_quote(JURI::base(true)) . '#', '', $strSrc);
    156.             }
    157.         }
    158.         $strSrc = str_replace('//', '/', $strSrc);
    159.         $strSrc = preg_replace('/^\//', '', $strSrc);
    160.         return $strSrc;
    161.     }
    162. }
    163. if(!function_exists('optimizecss')){
    164. function optimizecss($css_urls, $overwrite = false) {
    165.         $content = '';
    166.         $files = '';
    167.         //jimport('joomla.filesystem.file');
    168.        
    169.         foreach ($css_urls as $url) {
    170.             $files .= $url[1];
    171.            
    172.             //join css files into one file
    173.             $content .= "/* FILE: {$url[1]} */\n" . compresscss(JFile::read($url[1]), $url[1]) . "\n\n";
    174.         }
    175.        
    176.         $file = md5($files) . '.css';
    177.         if(useGZip()) $file = $file.'.php';
    178.  
    179.         $expireHeader = (int) 30 * 24 * 60 * 60;
    180.         if(useGZip()) {
    181.             $headers = "<?php if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header(\"Content-type: text/css\");";
    182.             $headers .= "header(\"Content-Encoding: gzip\");";
    183.         }
    184.         $headers .= "header('Expires: " . gmdate('D, d M Y H:i:s', strtotime(date('D, d M Y H:i:s')) + $expireHeader) . " GMT');";
    185.         $headers .= "header('Last-Modified: " . gmdate('D, d M Y H:i:s', strtotime(date('D, d M Y H:i:s'))) . " GMT');";
    186.         $headers .= "header('Cache-Control: Public');";
    187.         $headers .= "header('Vary: Accept-Encoding');?>";
    188.        
    189.         $content = $headers . $content;
    190.        
    191.         $url = store_file($content, $file, $overwrite);
    192.         return $url;
    193.     }
    194. }
    195. if(!function_exists('optimizejs')){
    196.     function optimizejs($js_urls, $overwrite = false) {
    197.         $content = '';
    198.         $files = '';
    199.         jimport('joomla.filesystem.file');
    200.        
    201.         foreach ($js_urls as $url) {
    202.    
    203.             $files .= $url[1];
    204.             $srcurl = cleanUrl($url[1]);
    205.                if (!$srcurl){
    206.                   if (preg_match('/http/', $url[0])) {
    207.                     $external = file_get_contents($url[0]);
    208.                   } else {
    209.                      $external = file_get_contents('http:'.$url[0]);
    210.                   }
    211.                  $content .= "/* FILE: {$url[0]} */\n" . $external . "\n\n";
    212.               } else {
    213.                       $content .= "/* FILE: {$url[1]} */\n" . @JFile::read($url[0]) . "\n\n";
    214.               }
    215.         }
    216.        
    217.      
    218.         $file = md5($files) . '.js';
    219.         if(useGZip()) $file = $file.'.php';
    220.                
    221.         $path = JPATH_SITE . DS . 'cache' . DS . 'gk'. DS . $file;
    222.        
    223.         if (is_file($path) && filesize($path) > 0) {
    224.             // skip compression and leave current URL
    225.         } else {
    226.             $content = compressjs($content);
    227.         }
    228.        
    229.        
    230.         $expireHeader = (int) 30 * 24 * 60 * 60;
    231.        
    232.         if(useGZip()) {
    233.             $headers = "<?php if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header(\"Content-type: text/javascript\");";
    234.             $headers .= "header(\"Content-Encoding: gzip\");";
    235.         }
    236.         $headers .= "header('Expires: " . gmdate('D, d M Y H:i:s', strtotime(date('D, d M Y H:i:s')) + $expireHeader) . " GMT');";
    237.         $headers .= "header('Last-Modified: " . gmdate('D, d M Y H:i:s', strtotime(date('D, d M Y H:i:s'))) . " GMT');";
    238.         $headers .= "header('Cache-Control: Public');";
    239.         $headers .= "header('Vary: Accept-Encoding');?>";
    240.        
    241.         $content = $headers.$content;      
    242.         $url = store_file($content, $file, true);
    243.         return $url;
    244.     }
    245. }
    246. if(!function_exists('compressjs')){
    247. function compressjs($data) {
    248.         require_once(dirname(__file__) . DS . 'minify' . DS . 'JSMin.php');
    249.           $data = JSMin::minify($data);
    250.         return $data;
    251.     }  
    252. }
    253. if(!function_exists('compresscss')){
    254.  function compresscss($data, $url) {
    255.         global $current_css_url;
    256.         $current_css_url = JURI::root() . $url;
    257.         /* remove comments */
    258.         $data = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $data);
    259.         /* remove tabs, spaces, new lines, etc. */
    260.         $data = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), ' ', $data);
    261.         /* remove unnecessary spaces */
    262.         $data = preg_replace('/[ ]+([{};,:])/', '\1', $data);
    263.         $data = preg_replace('/([{};,:])[ ]+/', '\1', $data);
    264.         /* remove empty class */
    265.         $data = preg_replace('/(\}([^\}]*\{\})+)/', '}', $data);
    266.         /* remove PHP code */
    267.         $data = preg_replace('/<\?(.*?)\?>/mix', '', $data);
    268.         /* replace url*/
    269.         $data = preg_replace_callback('/url\(([^\)]*)\)/', 'replaceurl', $data);
    270.         return $data;
    271.     }
    272. }
    273. if(!function_exists('replaceurl')){
    274.     function replaceurl($matches) {
    275.         $url = str_replace(array('"', '\''), '', $matches[1]);
    276.         global $current_css_url;
    277.         $url = converturl($url, $current_css_url);
    278.         return "url('$url')";
    279.     }
    280. }
    281. if(!function_exists('converturl')){
    282.     function converturl($url, $cssurl) {
    283.         $base = dirname($cssurl);
    284.         if (preg_match('/^(\/|http)/', $url))
    285.             return $url;
    286.         /*absolute or root*/
    287.         while (preg_match('/^\.\.\//', $url)) {
    288.             $base = dirname($base);
    289.             $url = substr($url, 3);
    290.         }
    291.         $url = $base . '/' . $url;
    292.         return $url;
    293.     }
    294. }
    295. if(!function_exists('store_file')){
    296.   function store_file($data, $filename, $overwrite = false) {
    297.         $path = 'cache' . DS . 'gk';
    298.         jimport('joomla.filesystem.folder');
    299.         if (!is_dir($path)) JFolder::create($path);
    300.         $path = $path . DS . $filename;
    301.         $url = JURI::base(true) .DS. 'cache'. DS .'gk' . DS. $filename;
    302.         if (is_file($path) && !$overwrite) return $url;
    303.         JFile::write($path, $data);
    304.         return is_file($path) ? $url : false;
    305.     }
    306. }
    307. if(!function_exists('useGZip')){
    308.      function useGZip() {
    309.         if (!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
    310.             return false;
    311.         } elseif (!extension_loaded('zlib') || ini_get('zlib.output_compression')) {
    312.             return false;
    313.         } else {
    314.             return true;
    315.         }
    316.      }
    317. }
    318. // EOF
     
  9. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 048
    Симпатии:
    520
    Пол:
    Мужской
    Странный разработчик, отключил показ некоторых ошибок в шаблоне, а потом вовсе отключил . Или эт уже хакер постарался
    Код (PHP):
    1. [LIST=1]
    2. [*]// enable showing errors in PHP
    3. [*]ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT);
    4. [*]ini_set('display_errors','Off');
    5. [/LIST]

    Если удалить ~E_WARNING, должны быть ошибки с указанием на файл
     
  10. Offline

    Elle Недавно здесь

    Регистрация:
    10.10.2016
    Сообщения:
    10
    Симпатии:
    0
    Если [*]ini_set('display_errors','Off');, то это я ))) Дело в том что у некоторых шаблонов несовместимость с php 5.6, у нас на хостинге именно такой стоял, поэтому весь сайт был в ошибках. Сейчас отображение ошибок включила, перешла на php 5.5, ошибки несовместимости пропали.
    Удалила E-warning, никакой реакции нет, надписи хоть бы хны :(
     
  11. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 048
    Симпатии:
    520
    Пол:
    Мужской
    А если поставить вывод ошибок на максимум и проверить лог ошибок хостинга
     
  12. Offline

    Elle Недавно здесь

    Регистрация:
    10.10.2016
    Сообщения:
    10
    Симпатии:
    0
    Вроде этого?

    2016-10-10T23:19:26+00:00 INFO 194.87.237.59 joomlafailure Имя пользователя и пароль не совпадают или у вас еще нет учетной записи на сайте

    Всю ночь искала, безрезультатно. Наткнулась на некие валидаторы, если разъясните то что на прикрепленном фото языком попроще - буду рада. На хосте только один файл нашла с этим скриптом, в папке cache, с длинным и сложным названием файла. Я так поняла это просто кэш. Почистила. Безрезультатно. Подумываю о том что ошибка выводится из SQL базы?
    Поделитесь мыслями?
    PS на HikaShop есть всплывающее окошко для регистрации, так оно всплыло и там тоже эта надпись на самом верху
    PPS если я не уточнила, то уточню сейчас - эта надпись на всех страницах
     

    Вложения:

  13. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 048
    Симпатии:
    520
    Пол:
    Мужской
    Может и вирус быть в папке кеша и вызывать левую функцию, которая удалена как вирус, в тело страницы.
    Лог ошибок хостинга- error.log
     
    Elle нравится это.
  14. Offline

    Elle Недавно здесь

    Регистрация:
    10.10.2016
    Сообщения:
    10
    Симпатии:
    0
    Ааа, вон какой. Прикрепляю его, может вам что-нибудь понятно?
    PS HikaShop только вчера установлен был
    2016/10/12 12:15:59 [warn] 8724#8724: *6593 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000033, client: 178.163.64.41, server: grifboard.ru, request: "POST /administrator/index.php?tmpl=component&option=com_hikashop HTTP/1.1", host: "grifboard.ru", referrer: "http://grifboard.ru/administrator/i...=component&ctrl=config&task=latest&code=ru-RU"
     
    Последнее редактирование: 12.10.2016
  15. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 048
    Симпатии:
    520
    Пол:
    Мужской
    Лучший ответ
    Стоп- снова дебри . Зачем логи .
    Ошибку искать в шаблоне или шаблон переустановить. Все так же на сайте теги не на месте .
     
  16. Offline

    Elle Недавно здесь

    Регистрация:
    10.10.2016
    Сообщения:
    10
    Симпатии:
    0
    Спасибо за помощь! Причина была в неправильной установке шаблона. Для тех у кого возникнет похожая проблема - мой шаблон был с квикстартом (что не нужно), выдернула шаблон, установила, но, с вот таким косяком. После переустановки через квикстарт все устранилось
     

Поделиться этой страницей

Загрузка...