mrprometei Опубліковано: 14 червня 2016 Share Опубліковано: 14 червня 2016 Есть проблема с капчей opencart 1.5.5.1.2. Добрые люди подсказали что скорее всего проблема с каким то модулем или с кодировкой в каком то файле модуля. Так как сайтом рулили несколько людей до меня то круг поиска увеличивается до всего сайта. Отключал модули поочередно эффекта не принесло. Пробовал найти файлы с BOM рекрусивно тоже эффекта не принесло. пример проблемы http://jigfish.ru/aksessuary/attraktanty/attraktant-marker-zapah-krovi.html когда хочешь оставить отзыв. еще пример http://jigfish.ru/reviews Нашел костыль на сайте $out = ob_get_contents(); $out = str_replace(array("\n", "\r", "\t", " "), "", $input);ob_end_clean(); Попробовал с первым примером проблема пропадает со вторым нет. Так как не люблю костыли хочу попробовать разобраться с проблемой в корне. В связи с этим хотел узнать как можно найти файл с неправильной кодировкой применительно ко всему сайту? Есть ли возможность или какие то инструменты для локализации проблемы еще? Буду очень признателен за советы или наставления в этом направлении. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 14 червня 2016 Share Опубліковано: 14 червня 2016 (змінено) поискать bomdel delbom bom_del del_bom Кроме того возможны варианты Когда есть пустая строка или пробел Змінено 14 червня 2016 користувачем chukcha Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 14 червня 2016 Share Опубліковано: 14 червня 2016 поискать bomdel delbom bom_del del_bom Кроме того возможны варианты Когда есть пустая строка или пробел Та да - часто редактируют файлы и забывают про непечатные символы, забывают переводы кареток пробелы Потом найти очень тяжело. Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Та да - часто редактируют файлы и забывают про непечатные символы, забывают переводы кареток пробелы Потом найти очень тяжело. Да в этом то и парадокс. Так как не я один вел сайт и связи с предшественниками нет. Под подозрение попадает любой файл. Можно ли как то еще попробовать вычислить пакостника? Ибо проверять каждый файл это смертиподобно =))) а очень не хочется городить костыль на костыле. Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 поискать bomdel delbom bom_del del_bom Кроме того возможны варианты Когда есть пустая строка или пробел Спасибо. За совет попробую этими прогнать может что-то найду. Только есть у меня большое подозрение что правились файлы предшественниками. =( А есть ли варианты поиска пустых строк или пробелов? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 (змінено) вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL Змінено 15 червня 2016 користувачем chukcha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 Да в этом то и парадокс. Так как не я один вел сайт и связи с предшественниками нет. Под подозрение попадает любой файл. Можно ли как то еще попробовать вычислить пакостника? Ибо проверять каждый файл это смертиподобно =))) а очень не хочется городить костыль на костыле. Попробуйте поиск в файлах на предмет ?>"пробел" или перевод каретки Total commander ищет даже по регулярным выражениям и даже по FTP Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Спасибо большое за советы. И прошу прощения если вопросы сильно банальны =) Подскажите еще пожалуйста когда в админке захожу в журнал ошибок вижу следующее Fatal error: Allowed memory size of 201326592 bytes exhausted (tried to allocate 193664010 bytes) in ***/vqmod/vqcache/vq2-system_engine_controller.php on line 58 И не могу понять смысл ошибки ведь ресов хватает.тогда в чем проблема? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Я написал Удалите лог ошибок /system/log/* А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL нашел очень большую кучу файлов. но появились еще вопросы очень много файлов в дефолтовой теме допустим /catalog/view/theme/default/template/agootemplates/module/search.tpl получается изначально там были пробелы? Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Я написал А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Касаемо логов все помогло. Спасибо. Касаемо поиска пробелов после ?> рекрусивно грепнул весь каталог и ужаснулся итогом. очень много файлов в дефолтовой теме. Можете подсказать Такое возможно? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 в шаблонах - не страшно! Кстати, да... еще возможен вариант, наличие пробелов и пустых строк после ?> в php файлах Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... mrprometei Опубліковано: 29 червня 2016 Автор Share Опубліковано: 29 червня 2016 Парни подскажите пожалуйста! Поправил все что показал код рекомендованный выше. ВСе файлы php, но проблема так и не пропала. Есть ли еще какие то варианты поиска источника проблемы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 29 червня 2016 Share Опубліковано: 29 червня 2016 Значит не все... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Песочница Не работает Капча Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 14 червня 2016 Share Опубліковано: 14 червня 2016 поискать bomdel delbom bom_del del_bom Кроме того возможны варианты Когда есть пустая строка или пробел Та да - часто редактируют файлы и забывают про непечатные символы, забывают переводы кареток пробелы Потом найти очень тяжело. Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Та да - часто редактируют файлы и забывают про непечатные символы, забывают переводы кареток пробелы Потом найти очень тяжело. Да в этом то и парадокс. Так как не я один вел сайт и связи с предшественниками нет. Под подозрение попадает любой файл. Можно ли как то еще попробовать вычислить пакостника? Ибо проверять каждый файл это смертиподобно =))) а очень не хочется городить костыль на костыле. Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 поискать bomdel delbom bom_del del_bom Кроме того возможны варианты Когда есть пустая строка или пробел Спасибо. За совет попробую этими прогнать может что-то найду. Только есть у меня большое подозрение что правились файлы предшественниками. =( А есть ли варианты поиска пустых строк или пробелов? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 (змінено) вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL Змінено 15 червня 2016 користувачем chukcha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 Да в этом то и парадокс. Так как не я один вел сайт и связи с предшественниками нет. Под подозрение попадает любой файл. Можно ли как то еще попробовать вычислить пакостника? Ибо проверять каждый файл это смертиподобно =))) а очень не хочется городить костыль на костыле. Попробуйте поиск в файлах на предмет ?>"пробел" или перевод каретки Total commander ищет даже по регулярным выражениям и даже по FTP Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Спасибо большое за советы. И прошу прощения если вопросы сильно банальны =) Подскажите еще пожалуйста когда в админке захожу в журнал ошибок вижу следующее Fatal error: Allowed memory size of 201326592 bytes exhausted (tried to allocate 193664010 bytes) in ***/vqmod/vqcache/vq2-system_engine_controller.php on line 58 И не могу понять смысл ошибки ведь ресов хватает.тогда в чем проблема? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Я написал Удалите лог ошибок /system/log/* А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL нашел очень большую кучу файлов. но появились еще вопросы очень много файлов в дефолтовой теме допустим /catalog/view/theme/default/template/agootemplates/module/search.tpl получается изначально там были пробелы? Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Я написал А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Касаемо логов все помогло. Спасибо. Касаемо поиска пробелов после ?> рекрусивно грепнул весь каталог и ужаснулся итогом. очень много файлов в дефолтовой теме. Можете подсказать Такое возможно? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 в шаблонах - не страшно! Кстати, да... еще возможен вариант, наличие пробелов и пустых строк после ?> в php файлах Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... mrprometei Опубліковано: 29 червня 2016 Автор Share Опубліковано: 29 червня 2016 Парни подскажите пожалуйста! Поправил все что показал код рекомендованный выше. ВСе файлы php, но проблема так и не пропала. Есть ли еще какие то варианты поиска источника проблемы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 29 червня 2016 Share Опубліковано: 29 червня 2016 Значит не все... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Песочница Не работает Капча Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Та да - часто редактируют файлы и забывают про непечатные символы, забывают переводы кареток пробелы Потом найти очень тяжело. Да в этом то и парадокс. Так как не я один вел сайт и связи с предшественниками нет. Под подозрение попадает любой файл. Можно ли как то еще попробовать вычислить пакостника? Ибо проверять каждый файл это смертиподобно =))) а очень не хочется городить костыль на костыле. Надіслати Поділитися на інших сайтах More sharing options...
mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 поискать bomdel delbom bom_del del_bom Кроме того возможны варианты Когда есть пустая строка или пробел Спасибо. За совет попробую этими прогнать может что-то найду. Только есть у меня большое подозрение что правились файлы предшественниками. =( А есть ли варианты поиска пустых строк или пробелов? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 (змінено) вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL Змінено 15 червня 2016 користувачем chukcha 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 Да в этом то и парадокс. Так как не я один вел сайт и связи с предшественниками нет. Под подозрение попадает любой файл. Можно ли как то еще попробовать вычислить пакостника? Ибо проверять каждый файл это смертиподобно =))) а очень не хочется городить костыль на костыле. Попробуйте поиск в файлах на предмет ?>"пробел" или перевод каретки Total commander ищет даже по регулярным выражениям и даже по FTP Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Спасибо большое за советы. И прошу прощения если вопросы сильно банальны =) Подскажите еще пожалуйста когда в админке захожу в журнал ошибок вижу следующее Fatal error: Allowed memory size of 201326592 bytes exhausted (tried to allocate 193664010 bytes) in ***/vqmod/vqcache/vq2-system_engine_controller.php on line 58 И не могу понять смысл ошибки ведь ресов хватает.тогда в чем проблема? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Я написал Удалите лог ошибок /system/log/* А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL нашел очень большую кучу файлов. но появились еще вопросы очень много файлов в дефолтовой теме допустим /catalog/view/theme/default/template/agootemplates/module/search.tpl получается изначально там были пробелы? Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Я написал А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Касаемо логов все помогло. Спасибо. Касаемо поиска пробелов после ?> рекрусивно грепнул весь каталог и ужаснулся итогом. очень много файлов в дефолтовой теме. Можете подсказать Такое возможно? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 в шаблонах - не страшно! Кстати, да... еще возможен вариант, наличие пробелов и пустых строк после ?> в php файлах Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... mrprometei Опубліковано: 29 червня 2016 Автор Share Опубліковано: 29 червня 2016 Парни подскажите пожалуйста! Поправил все что показал код рекомендованный выше. ВСе файлы php, но проблема так и не пропала. Есть ли еще какие то варианты поиска источника проблемы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 29 червня 2016 Share Опубліковано: 29 червня 2016 Значит не все... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Песочница Не работает Капча Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 Да в этом то и парадокс. Так как не я один вел сайт и связи с предшественниками нет. Под подозрение попадает любой файл. Можно ли как то еще попробовать вычислить пакостника? Ибо проверять каждый файл это смертиподобно =))) а очень не хочется городить костыль на костыле. Попробуйте поиск в файлах на предмет ?>"пробел" или перевод каретки Total commander ищет даже по регулярным выражениям и даже по FTP Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Спасибо большое за советы. И прошу прощения если вопросы сильно банальны =) Подскажите еще пожалуйста когда в админке захожу в журнал ошибок вижу следующее Fatal error: Allowed memory size of 201326592 bytes exhausted (tried to allocate 193664010 bytes) in ***/vqmod/vqcache/vq2-system_engine_controller.php on line 58 И не могу понять смысл ошибки ведь ресов хватает.тогда в чем проблема? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Я написал Удалите лог ошибок /system/log/* А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL нашел очень большую кучу файлов. но появились еще вопросы очень много файлов в дефолтовой теме допустим /catalog/view/theme/default/template/agootemplates/module/search.tpl получается изначально там были пробелы? Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Я написал А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Касаемо логов все помогло. Спасибо. Касаемо поиска пробелов после ?> рекрусивно грепнул весь каталог и ужаснулся итогом. очень много файлов в дефолтовой теме. Можете подсказать Такое возможно? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 в шаблонах - не страшно! Кстати, да... еще возможен вариант, наличие пробелов и пустых строк после ?> в php файлах Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... mrprometei Опубліковано: 29 червня 2016 Автор Share Опубліковано: 29 червня 2016 Парни подскажите пожалуйста! Поправил все что показал код рекомендованный выше. ВСе файлы php, но проблема так и не пропала. Есть ли еще какие то варианты поиска источника проблемы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 29 червня 2016 Share Опубліковано: 29 червня 2016 Значит не все... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Песочница Не работает Капча Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Спасибо большое за советы. И прошу прощения если вопросы сильно банальны =) Подскажите еще пожалуйста когда в админке захожу в журнал ошибок вижу следующее Fatal error: Allowed memory size of 201326592 bytes exhausted (tried to allocate 193664010 bytes) in ***/vqmod/vqcache/vq2-system_engine_controller.php on line 58 И не могу понять смысл ошибки ведь ресов хватает.тогда в чем проблема? Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Я написал Удалите лог ошибок /system/log/* А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL нашел очень большую кучу файлов. но появились еще вопросы очень много файлов в дефолтовой теме допустим /catalog/view/theme/default/template/agootemplates/module/search.tpl получается изначально там были пробелы? Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Я написал А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Касаемо логов все помогло. Спасибо. Касаемо поиска пробелов после ?> рекрусивно грепнул весь каталог и ужаснулся итогом. очень много файлов в дефолтовой теме. Можете подсказать Такое возможно? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 в шаблонах - не страшно! Кстати, да... еще возможен вариант, наличие пробелов и пустых строк после ?> в php файлах Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... mrprometei Опубліковано: 29 червня 2016 Автор Share Опубліковано: 29 червня 2016 Парни подскажите пожалуйста! Поправил все что показал код рекомендованный выше. ВСе файлы php, но проблема так и не пропала. Есть ли еще какие то варианты поиска источника проблемы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 29 червня 2016 Share Опубліковано: 29 червня 2016 Значит не все... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Песочница Не работает Капча Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Удалите лог ошибок /system/log/* и очистите журнал модификаторов если у вас opencart 2 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 У меня opencart 1.5.5.1.2. Может с сталкивались с такой проблемой? Я написал Удалите лог ошибок /system/log/* А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL нашел очень большую кучу файлов. но появились еще вопросы очень много файлов в дефолтовой теме допустим /catalog/view/theme/default/template/agootemplates/module/search.tpl получается изначально там были пробелы? Надіслати Поділитися на інших сайтах More sharing options... mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Я написал А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Касаемо логов все помогло. Спасибо. Касаемо поиска пробелов после ?> рекрусивно грепнул весь каталог и ужаснулся итогом. очень много файлов в дефолтовой теме. Можете подсказать Такое возможно? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 в шаблонах - не страшно! Кстати, да... еще возможен вариант, наличие пробелов и пустых строк после ?> в php файлах Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... mrprometei Опубліковано: 29 червня 2016 Автор Share Опубліковано: 29 червня 2016 Парни подскажите пожалуйста! Поправил все что показал код рекомендованный выше. ВСе файлы php, но проблема так и не пропала. Есть ли еще какие то варианты поиска источника проблемы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 29 червня 2016 Share Опубліковано: 29 червня 2016 Значит не все... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Песочница Не работает Капча
mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 вот простейший код <?php function searchFile($path, $pattern = '*', $flags = 0, $depth = 0) { //Ищем все файлы с расширением php и помещаем их в массив $matches $matches = array(); $folders = array(rtrim($path, DIRECTORY_SEPARATOR)); while($folder = array_shift($folders)) { $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags)); if($depth != 0) { $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR); $depth = ($depth < -1) ? -1: $depth + count($moreFolders) - 2; $folders = array_merge($folders, $moreFolders); } } return $matches; } $f = searchFile(dirname(__FILE__), "*.{php,tpl}", GLOB_BRACE, 10000); echo 'run'; foreach ($f as $key => $val) { $f = fopen($val,'rb'); $filesize = filesize($val); if($filesize==0){ continue; } $t = fread($f, $filesize); $fi = substr($t, 0, 2); if ($fi != '<?') echo $val. '<br>'; //проверяем есть ли в файле BOM if (preg_match('|\xEF\xBB\xBF|', $t) !== 0) { if (is_writable($val) === true) { $data = preg_replace('|\xEF\xBB\xBF|', "", $t); $file = fopen($val,'w+b'); if (fwrite($file, $data) === FALSE) { echo "$file :: Не могу произвести изменение\n"; } echo "$val :: Успешно отредактирован\n"; fclose($file); } else{ echo $val." :: Присутствует метка BOM, файл доступен только для чтения\n"; } } $pos = strpos('$GLOBAL',$t); if ($pos !==false) { echo "<br>$val :: G L O B A L <br>\n"; } } echo 'stop'; ?> Если найдет - выведет название файла+ простейшая проверка на наличие $GLOBAL нашел очень большую кучу файлов. но появились еще вопросы очень много файлов в дефолтовой теме допустим /catalog/view/theme/default/template/agootemplates/module/search.tpl получается изначально там были пробелы? Надіслати Поділитися на інших сайтах More sharing options...
mrprometei Опубліковано: 15 червня 2016 Автор Share Опубліковано: 15 червня 2016 Я написал А модификаторы для opencart 2 Значит в вашем случае Удалите лог ошибок /system/log/* Касаемо логов все помогло. Спасибо. Касаемо поиска пробелов после ?> рекрусивно грепнул весь каталог и ужаснулся итогом. очень много файлов в дефолтовой теме. Можете подсказать Такое возможно? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 15 червня 2016 Share Опубліковано: 15 червня 2016 в шаблонах - не страшно! Кстати, да... еще возможен вариант, наличие пробелов и пустых строк после ?> в php файлах Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... mrprometei Опубліковано: 29 червня 2016 Автор Share Опубліковано: 29 червня 2016 Парни подскажите пожалуйста! Поправил все что показал код рекомендованный выше. ВСе файлы php, но проблема так и не пропала. Есть ли еще какие то варианты поиска источника проблемы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 29 червня 2016 Share Опубліковано: 29 червня 2016 Значит не все... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
mrprometei Опубліковано: 29 червня 2016 Автор Share Опубліковано: 29 червня 2016 Парни подскажите пожалуйста! Поправил все что показал код рекомендованный выше. ВСе файлы php, но проблема так и не пропала. Есть ли еще какие то варианты поиска источника проблемы? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 29 червня 2016 Share Опубліковано: 29 червня 2016 Значит не все... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts