Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
1 Октябрь 2018

Cannot use output buffering in output buffering display handlers in /bitrix/modules/main/lib/data/cache.php

Ни с того, ни с сего — начал падать сайт под управлением движка 1С Битрикс.
Никто ничего с сайтом не делает — сам валится и всё тут.
В логах веб сервера множество таких записей
«Cannot use output buffering in output buffering display handlers in /bitrix/modules/main/lib/data/cache.php»
Довольно много гуглил и пробовал — ничего не помогло, методом научного тыка вычислил, что проблема очень подозрительном файле ядра
/bitrix/modules/main/include.php
подозрительность в том, что 1. код частично закодирован! 2. файл самостоятельно обновляется!
я его с ядра другого сайта перезаписал — ошибка ушла, но через некоторое время он обновился до той же длинны, что и была — и бай бай сайту — снова так же ошибка с кэшем

Предположу, что там какой то код на счёт валидности лицензии и там то и разработчики что-то накосячили (скорее всего в эхо ушел какой то невидимый символ типа переноса строки)
Отправил запрос в саппорт — жду ответ!

рубрики: Bitrix | Комментарии (0)

26 Сентябрь 2018

1С 7.7 пропадает точка при выгрузке формы в xls

Волею судеб приходится заниматься всякой всячиной — одна из которых поддержка клиентов по вопросам 1С 7.7
Т.к. поиск в сети не принес мне быстрых результатов пришлось сабж решать самому.
О проблеме более детально — выводим УПД из 1С 7.7. сохраняем в xls — открываем, а там количество вместо 2,000 стоит 2000
То есть запятая, отделяющая дробную часть тупо пропадает по всему документу.

Решение такое — открываем конфигуратор, там общий модуль — в нём ищём поиском УПД891 — позиционируемся на процедуру вывода в таблицу УПД891.
Там чуть ниже находим строчку, задающую формат вывода количества в таблице
ПечКоличество = Формат(ТабДок.Количество, «Ч-15.3,»);
Тройку меняем на двойку, сохраняемся и готово!

рубрики: , Полезности, Программирование | Комментарии (0)

14 Сентябрь 2018

M5q5.js — что за скрипт? как избавиться?

Итак, последние два-три дня меня довольно часто уведомляет антивирус Eset Smatr Security о блокировке открытия javascript файла M5q5.js с различных сайтов!


Например последнее обращение было с https://www.hostingcloud.accountant./M5q5.js
Скачал я этот файл себе — глянул, всё обфуцированно и ничего не понятно M5q5.js

Событие генерируется в chrome.exe при открытии новых сайтов (на сайтах данного скрипта нет!) — который я сносил и в нём все расширения сносил — ничего не помогает 🙁
Куда дальше копать — не знаю 🙁

PS
Убрал синхронизацию приложений — пока полёт нормальный!

рубрики: Новости / Обзоры | Комментарии (0)

12 Сентябрь 2018

Мобильный шаблон для онлайн магазина

Наконец-то PageSpeed Insights нормально оценил мой новый шаблон онлайн аптеки с точки зрения мобильных девайсов!
До этого тоже вроде адаптивный шаблон сделал — но гуглу почему-то он не зашел, а этот вроде норм!
Очень надеюсь, что мои труды по адаптивному шаблону для мобильных девайсов в положительном смысле отразятся на поисковой выдаче!
Для Новосибирской онлайн аптеки всё тоже самое т.к. шаблон один.
Дополнительно задействовал алгоритм генерации ссылок и околоссылочного текста и подключил на пару сайтов (в т.к. и блог — отображаются сверху в рекламном блоке), тут тоже имхо риск — либо зайдёт и чуть повыше в топе, либо наоборот и соответственно в яму 🙁

рубрики: Новости / Обзоры | Комментарии (0)

12 Сентябрь 2018

Списание денег с карты без SMS подтверждения

Сегодня столкнулся с ситуацией когда бабло с карты улетело БЕЗ моего подтверждения покупки!

Минут 20 пытался объяснить сотруднику Сбера, что я хочу контролировать ЛЮБЫЕ расходы с помощью СМС подтверждения. Оказалось это невозможно! И вообще подтверждение запрашивает сайт где покупаешь, а не Сбер (для меня это было вообще шоком — я думал совершенно наоборот).

Собственно, ситуация — в прошлом году знакомому коллеги по работе помог с покупкой анивируса (женщина пенсионер) — оплатил со своей карты Сбербанка.
Оказывается, там по умолчанию стоит «автопродление» и бабло через год улетает без каких либо запросов СМС !!!

Погуглил на тему «списание с карты без смс» и всё подтвердилось — сайты легко могут снимать бабло без СМС подтверждения! Причём принудительно включить эту опцию в Сбере нельзя! ИДИОТИЗМ 100%!!!

ВЫВОД — не держите деньги на счёте карты! используйте накопительные счета и при необходимости перекидывайте необходимую сумму!

Из переписки с сайта forumklientov.ru

КЛИЕНТ
Некоторое время назад я совершил покупку в интернет-магазине и оплатил ее при помощи карты MasterCard. Во время совершения оплаты не было подтверждения операции при помощи одноразовых паролей либо же паролем по смс. Ответ представителей Сбербанка был следующим:

«В случае, если для проведения операций в сети Интернет, сайт не запрашивает подтверждение операции одноразовым паролем, это значит, что сайт не поддерживает технологию безопасного проведения операций 3d secure. Решение о введение данной технологии принимается администрацией сайта. ОАО «Сбербанк России» не может предоставить Вам информацию о технологиях, используемых различными Интернет-сайтами для проведения операций по картам, так как данный вопрос находится вне сферы контроля ОАО «Сбербанка России».

Мне, как держателю карты, не совсем понятна такая позиция. Почему банк-эмитент позволяет проводить операции без подтверждения? Если предположить, что информация о карте станет доступна третьим лицам (не по вине держателя карты, копрометация данных процессингово центра, недобросовестные кассиры и т.п), то осуществить покупку без подтверждения владельцем карты очевидно просто.

Конечно, в таких случаях можно написать заявление о спорной транзакции, потратить время на поездки в офисы, и ждать возврата денег. Т.е. если не по моей вине данные стали доступны третьим лицам, денежные средства были списаны, банк ни причем, а тратить время и нервы должен клиент. Я как держатель карты, хочу себя обезопасить от подобных возможных действий, и запретить транзакции без подтвеждения паролем. Каким образом это возможно сделать?

СБЕРБАНК
Решение о совершении покупки в сети Интернет на сайтах не использующих технологии Verified by Visa для карт Visa и MasterCard SecureCode для карт MasterCard принимается держателем карты. Информация об этом содержится в памятке держателя.

P.S. На сайтах, использующих данные технологии должны быть размещены соответствующие логотипы.

рубрики: Размышления | Комментарии (0)

12 Сентябрь 2018

Быстрая анти спам защита формы обратной связи Битрикс main.feedback

Спам в форме обратной связи Битрикса main.feedback ЗАДОЛБАЛ реально!

Собственно, презентую моё бесплатное решение, внедряемое за 5 минут:
Идея — проверка на вхождение в сообщение «http» «href» и дополнительное поле — результат суммы прописью

1. Копируем стандартный компонент main.feedback из папки ./bitrix/components/bitrix/ в свою ./bitrix/components/gtalex/
2. Заменяем подключение данного компонента на свой bitrix:main.feedback на gtalex:main.feedback
3. В форму добавляем (в массиве в цифрах прописью в каждой цифре один символ английский — чтоб было труднее спарсить) (скобки >< заменил на [])

$numbers = array(«нoль», «oдин», «двa», «mри», «чеmыре», «пяmь»);
$one = $numbers[rand(0,5)];
$two = $numbers[rand(0,5)];

[strong][?=$one?] плюс [?=$two?] = (запишите цифру ответа прописью с маленькой буквы)
[input type=’text’ name=’GT_SUM’ value=’[br/]


4. В компоненте ./bitrix/components/gtalex/component.php перед строкой

if(empty($arParams["REQUIRED_FIELDS"]) || !in_array("NONE", $arParams["REQUIRED_FIELDS"]))

добавляем обработку введённых данных

...
if(($_POST["GT_SUM"]==NULL)or($_POST["GT_SUM"]=="")) {
$arResult["ERROR_MESSAGE"][] = "Введите решение примера";
}
if(in_array($_POST["GT_SUM"],$summ)) {
} else {
$arResult["ERROR_MESSAGE"][] = "Неверное решение примера! Введите правильное.";
}
if(strpos($_POST["MESSAGE"], "href")===false) {
} else {
$arResult["ERROR_MESSAGE"][] = "Гиперссылки в сообщении запрещены";
}
if(strpos($_POST["MESSAGE"], "http")===false) {
} else {
$arResult["ERROR_MESSAGE"][] = "Гиперссылки в сообщении запрещены";
}
...

рубрики: Bitrix, Полезности, Программирование | Комментарии (0)

19 Июль 2018

Микро-разметка на веб странице в помощь поисковому боту

Всем привет!

Продолжаю публиковать то, с чем работал недавно и решил поделиться …

Сегодня, хочу затронуть тему использования микроразметки на страницах веб сайта. Не хочу как то особо превышать её значение, но как говориться — «кашу маслом не испортить».
Поэтому считаю, что лишним для поисковых систем эта информация 100% не будет — и как вывод «рекомендую к использованию!».

Самый главный совет от Яндекса — «Используя семантическую разметку, вы можете улучшить представление сниппета вашего сайта в результатах поиска».
Этот совет, а так же очень доступный видео ролик можно найти на странице Яндекса с кратким обзором «Зачем нужна микроразметка«.

За полной документацией от разработчика — идём в соответствующий раздел сайта schema.org, например Organization, либо на русскоязычный сайт ruschema.org

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

рубрики: Вёрстка, Полезности | Комментарии (1)

2 Июль 2018

Конвертация форума с платформы 1С-Битрикс на wpForo

Печально констатировать но факт — 1С Битрикс с момента запуска модуля Форум для своего движка, на сегодняшний день практически остановился в развитии 🙁
Любой современный форумный движек легко обходит Битрикс по своим возможностям, а так же быстроте работы — оно и понятно, форумный движек встроен модулем в авианосец под названием Битрикс.
Полное нежелание усовершенствовать модуль компанией лично мне вообще непонятно.
На сайте в разделе форум idea.1c-bitrix.ru для разработчиков сгенерировали огромное количество пожеланий, которые и в данный момент остаются не реализованными.
Например, вот моё пожелание с 2014 ого года Открытие темы форума с первого непрочитанного сообщения так до сих пор остаётся не реализованным 🙁

Ладно, вернёмся к сабжу — лет 5 назад я конвертировал форум с phpbb на 1С Битрикс — и вот сейчас тот же клиент обратился ко мне с обратной просьбой — перенести форум с движка 1С Битрикс на форум wpForo (плагин к WordPress).

Поставленную задачу я реализовал следующим образом:
1. Этап — выгрузка форума (пользовательские данные, форумы, топики, сообщения) в файлы в формат Mysql dump с помощью Bitrix API (CUser::GetList, CForumNew::GetList, CForumTopic::GetList, CForumMessage::GetList) и вложенные файлы в формат хранения wpForo
/wp-content/uploads/wpforo/attachments/$UID/ ($UID — айди пользователя), так же на лету для картинок в папку /wp-content/uploads/wpforo/attachments/$UID/thumbnail/ создавал превью изображения с помощью CFile::ResizeImageFile
Из подводных камней на данном этапе отмечу невозможность с помощью Bitrix API получать файловые вложения к сообщению, которые просто прикреплены, но не вставлены в тело сообщения.


решение такое - сначала регуляркой вытащил те вложения, что в теле сообщения
preg_match_all('!\[FILE ID\=(\d+)(.*?)\]!', $arMessage["POST_MESSAGE"], $match)
айдишники упадут в массив $match[1]
потом прямым запросом получаем ВСЕ вложения в массив $arAttachments
$strSql = "SELECT * FROM b_forum_file WHERE MESSAGE_ID=".$arMessage["ID"];
$res = $DB->Query($strSql);
if($ar = $res->GetNext()) {
$arAttachments[] = $ar[FILE_ID];
...
}
дальше думаю понятно :)

далее копируем папку с вложениями и превью картинками в Вордпресс и загружаем сгенерированные скриптом sql дапмы с данными форума, после чего в админке wpForo удаляем все данные кэша и вуаля!

3. Делаем 301й редирект со старых адресов на новые — в данном случае ЧПУ осталось тем же, поэтому достаточно просто убрать .php (только для форума)

# BEGIN Forum 301 redirect

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/forum/
RewriteRule (.*)\.php$ $1 [R=301,L]

# END Forum 301 redirect

PS
Так же обратите внимание на поля, отвечающие за «открытость» форумов
UPDATE p_wpforo_topics SET closed = 0;
UPDATE p_wpforo_posts SET is_answer = 0;
UPDATE p_wpforo_posts SET private = 0, status = 0;

Так же после загрузки нужно обратить внимание на иерархию и сортировку самих форумов — у меня они не отображались, пока я их не запихал 2м уровнем в группу «все форумы»

рубрики: Bitrix, Программирование | Комментарии (0)

22 Июнь 2018

whachdog скрипт контроля работы видеокарт и перезапуска системы

Выложил на miningclub свой скриптик по контролю работы майнера и перезапуска оного в случае если вылетел, пока его хаяли я заодно изучил ветки подобной направленности и нашел ну очень интересный скриптец под Windows для видеокарт NVidia !!!
Основной принцип работы данного скрипта — контроль нагрузки непосредственно самих видеокарт за счёт парсинга утилиты, которая, собственно, информацию по видеокартам выдаёт в поток.
Посмотрели нагрузку на видюхи, посчитали среднее значение — если ниже заданного, ещё раз проверяем и ребутим.
Утилитка устанавливается вместе с драйверами и находится тут C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe
Скрипт обрабатывающий данные называется «Mining Listener» — автора скрипта я не нашел, на ютубе ролик был уже только по его использованию, на miningclub.info нашел тему с модифицированными версиями тоже заслуживающими внимание! (например в одной из версий применяется АВ профиль).

Скрипт нужно допиливать под конкретное количество видеокарт, собственно т.к. я уже допилил под все варианты — можете воспользоваться моими файликами
Скрипты: на 1 видеокарту, на 2 видеокарты, на 3 видеокарты, на 4 видеокарты, на 5 видеокарт, на 6 видеокарт, на 7 видеокарт, на 8 видеокарт.

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

PS Грят велик я изобрёл — уже давно есть крутой вачдог скрипт.

рубрики: Майнинг | Комментарии (0)

22 Июнь 2018

Майнер вылетает — cmd скрипт проверки и запуска майнера

Простенький скрипт, который через каждые 5 минут проверяет в процессах наличие процесса майнера, и в случае если не такого процесса нет (майнер отвалился) — стартует его заново, время запуска пишет в лог run.log
Комментировать не буду — всё просто и понятно, задаём экзешник и все свои параметры для запуска и стартует


@echo off
Set ProcessName=ccminer.exe
:BEGIN
TaskList /FI "ImageName EQ %ProcessName%" 2>nul|Find /I "%ProcessName%">nul||(
ECHO %date% %time%>> run.log
TASKKILL /IM %ProcessName%
start %ProcessName% -a x16r -i 21 -o stratum+tcp://us.ravenminer.com:5678 -u sjR4fgdesexpdwzz1deDcUKG5EwMb4KpZw -p MyRigName
)
TIMEOUT /T 300 /NOBREAK
goto BEGIN

рубрики: Майнинг | Комментарии (0)