.

#1 RX pharmacy affiliate program!
10 ноября 2011

Дружим Битрикс и SAPE

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Не было оценок)

Казалось бы — какие могут тут быть проблемы ?
А нет — есть они !

Подрубил стандартно — как учили.
Получаю «Нарушена целостность данных при записи в файл»
links.db не создается хоть ты тресни

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

mbstring.func_overload 2
mbstring.internal_encoding UTF-8

В sape.php неверно определяется длинна считываемого и записываемого блога из-за UTF-8 кодировки — в следствие чего links.db получается кривой — не проходит проверку и автоматически стирается.

Лечится просто:
ищем в коде sape.php строчку
@fwrite($fp, $data, $length);
меняем на
@fwrite($fp, $data);

Вуаля.

Post to Twitter ReTweet

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

10 ноября 2011

Динамическое подключение к SAPE статических сайтов

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Не было оценок)

Вот такой вот тафтологичный заголовок получился :)

Немного хотел поделиться опытом — может кому пригодиться (хотя догадаться самому не сложно).
В общем довелось мне подрубить к сапе статический сайтик — эдак на 10 тыс html страниц :)

Идея проста — настраиваем обработчиком статических страниц свой скрипт, где уже динамически встраиваем сапу. (думал сначала тупо скриптом все странички поправить — но такой вариант мне не понравился). Сайт лежит на моём хостинге, так что проблем с редактированием конфигов у меня не возникло.

В моём случае фронтэндом у меня стоит nginx — вот в нём то и прописываем нужное правило.

location ~ \.(htm|html)$ {
charset windows-1251;
fastcgi_index index.php;
fastcgi_intercept_errors on;
root /.../site.ru/www/;
index index.php index.html index.htm;

include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_param SCRIPT_NAME /get.php;
fastcgi_param SCRIPT_FILENAME /.../site.ru/www/get.php;
}

в get.php уже дёргаем нужный статичный html файл
я его определил через $_SERVER["DOCUMENT_URI"]
и меняем как душе угодно, например
$page = str_replace('', $sape.'',$page);
где в $sape нужный блок со ссылками

Post to Twitter ReTweet

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

9 ноября 2011

PHPBB 2 Битрикс — личные сообщения

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Не было оценок)

В продолжение поста Bitrix API: конвертация форума с PHPBB.

Вчера запустил форум сконвертированный с PHPBB — и конечно же не без косяков ... забыл я перенести персональные сообщения, а они, как оказалось, очень сильно юзались в старой версии форума.

Срочно пришлось ваять скриптик переноса личных сообщений с PHPBB на Битрикс форум (предполагается, что все юзера уже перенесены).

Итак:
В phpbb ЛС храняться в таблицах _privmsgs и _privmsgs_text (связь один к одному).
Логика отправки такая:
* Отправитель — отправил сообщение — новая запись privmsgs_type = 1 (у отправителя «исходящие»)
* Получатель увидел сообщение — изменился privmsgs_type = 5 (у отправителя «исходящие»)
* Получатель прочитал сообщение — изменился privmsgs_type = 0 (у получателя «отправленные») + в БД создается новая запись (копия предыдущей но со статусом) privmsgs_type = 2 (у отправителя «отправленные»)
* Отправитель переместил в Сохранённые privmsgs_type = 4
* Получатель переместил в Сохранённые privmsgs_type = 5

В Битриксе понадобится знание FOLDER_ID
1 — входящие
3 — отправленные
4 — корзина

Дальше всё более менее просто:
Дёргаем все сообщения из phpbb, далее заносим их в Битрикс с помощью API функции CForumPrivateMessage::Send() в соответствии с типами privmsgs_type кидаем в нужные папки FOLDER_ID.
Для сопоставления ID юзеров я заюзал функцию из предыдущей статьи __GetUserInfo

Post to Twitter ReTweet

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

3 ноября 2011

Социальный инжиринг — самый эффективный взлом

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5.00 из 5)

Социальнфй инжиниринг — явление, основанное на эксплуатации человеческих слабостей. Зачастую используемое в корыстных целях.

Хакер использующий социальную инженерию, так или иначе убеждает человека самому предоставить всю необходимую информацию (используемую далее как правило для взлома, и пр.).

Более развёрнутую информацию можно найти в статье.

А сегодняшний пост я пишу потому, что буквально полчаса назад мне удалось сменить адресную запись домена, используя лишь телефон, зная имя домена и наименование организации! (хотя юридически к данной организации я не имею никакого отношения). И получилось мне это сделать в очень крупной провайдерской организации! (пока только A запись поменяли, а вообще договорился о переносе домена в мою панельку регистратора)
Благо я действую в интересах этой организации, а что если бы ... ??!

Социальный инжиринг — великая сила !

Post to Twitter ReTweet

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

2 ноября 2011

Перевод домена/сайта на новый сервер

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5.00 из 5)

В принципе информация в сети на эту тему присутствует — вот например статейка Как перенести сайт.
Всё бы ничего — вроде доходчиво написано и понятно, но в моём случае на старом сайте висит онлайн магазин с довольно неплохой посещаемостью (трафик в районе 1.5к уников)
Одновременно давать работать двум сайтам нельзя — «поплывут» базы, отрубать старую на сутки — потеря покупателей сказывающаяся на выручке.

Собственно, при правильно сформулированной задаче решение приходит само — уменьшение TTL в настройках DNS зоны.

Я поставил 3600 — час (было сутки — 86400).
Передёрнул бинд.
#killall -HUP named
#/etc/rc.d/named reload

Подожду сутки, пока новые настройки не подействуют — и в бой.
Как пройдёт — отпишу.
Кстати в статейке ещё один важный момент опущен — при переезде на старом серваке желательно отрубить возможность изменения данных (либо потом придётся их как то перетягивать — а это уже «головняк»)

P.S.
меняя что-то в кроне — не забываем передёргивать
/etc/rc.d/cron restart
или
killall −1 cron

Post to Twitter ReTweet

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

2 ноября 2011

Убираем переход на летнее время в домене

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5.00 из 5)

Признаюсь, помимо моего SEO WEB хобби у меня ещё основная есть офлайн работа — IT специалист в небольшом офисе (примерно 60 машин + 5 серваков + телефония + ...) в общем всё касающееся высоких технологий :) Думаю некоторые фишки моей повседневной работы некоторым будут полезны ... буду изредка выкладывать.

Итак, переход на летнее/зимнее время отменили, а компам в домене об этом сказать забыли.
Я решил проблему изменением часового пояса и убиранием галочки «переход на летнее время».
Теперь осталось всё это дело автоматически применить всем тачкам в домене...
технически у меня это получилось так:
\\SERVER\common\zone.bat

RunDLL32 shell32.dll,Control_RunDLL %SystemRoot%\system32\TIMEDATE.cpl,,/Z SE Asia Standard Time
WMIC COMPUTERSYSTEM Set EnableDaylightSavingsTime=FALSE

Первая строчка — установка часового пояса (мне нужно было поставить +7 GMT), вторая — снятие галочки.
Всё это дело запихал юзерам в автозагрузку, и уже загруженных толкнул так

psexec \\* -c -d -u domain\admin -p adminpass \\SERVER\common\zone.bat /quiet /passive

P.S.
Список зон можно глянуть в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones

Ещё момент — не забываем менять время на всяких АТС и прочих чудо-аппаратах :)

P.S.S. Кому интересно решение с групповыми политиками, я сделал так: Читать полностью »

Post to Twitter ReTweet

рубрики: Администрирование | Комментарии (2)

31 октября 2011

Битрикс: замена смайликов в форуме

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5.00 из 5)

ИМХО довольно штатная задача, причём в админке битрикса в сервисах эта возможность присутствует, но как оказалось, не всё так просто !

ИТАК:
Поменял я в админке стандартный смайл (был icon_smile.gif) на колобка — вроде всё путём, поменялось — захожу обратно на форум, делаю новый пост — всё ОК — смайл новый.

НО !!! смотрю старые записи — облом, колобок не появился.
А причина в том, что отображается в форуме b_forum_message.POST_MESSAGE_HTML которая получается преобразованием POST_MESSAGE (сообщение которое ввел юзер) в подготовленное для отображения. Т.е. все замены смайлов происходят в момент постинга.
Тут то и лежит наш
/bitrix/images/forum/smile/icon_smile.gif
а не новый
/bitrix/images/forum/smile/call_o_bog_smile.gif

Решения два — сложное — перепарсить заново все сообщения, либо простое :)  — записать новые смайлы прямо поверх старых (не редактированием смайла из админки, а файловой операцией — либо из админки, либо ftp, либо ssh и пр...)

Я выбрал второе. Правда пришлось потратить минут 10 на сопоставление смайлов и запись их под тем же именем, что и в Битриксе.

P.S.
Вообще, чё то они забросили развитие форума, жаль ... Надеюсь реабилитируются, т.к. сквозная авторизация на портале — удобно, и прикручивать сторонний форум по этой причине совсем не хочется.
Либо нужно как то продумывать взаимную авторизацию «сторонний форум» <-> «битрикс».

P.S.S.
Ещё забыл момент — новые смайлы покрупнее и не по-формату.
В форуме вроде без проблем отобразились, а вот в админке — некоторые косовато.
В принципе пофиг, но я решил поправить —
/bitrix/modules/forum/admin/smile.php
поиск по «width»
в найдённой строчке убираем все упоминания «width» и «height»
вуаля

Post to Twitter ReTweet

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

  • Ссылочки