paltarasych: Блог

paltarasych

Дата последнего входа: 01.04.2018 18:05:30
Дата регистрации: 01.01.2011 19:36:59
Пол: Мужской

thumbnail или борьба за мегабайты

Рано или поздно каждый из нас задумывается о занимаемом дисковом пространстве своего хостинг провайдера.Лучше сделать это раньше, чем заниматься впоследствии достаточно трудоемким занятием.
Речь идет о движке WordPress и его любимом занятии создании уменьшенной копии загружаемых графических файлов. И создает он их аж три штуки, за исключением тех моментов, когда картинка меньше среднего размера. Есть несколько способов избавиться от этого: первый, и он же наиболее проще, задать в настройках медиафайлов нулевые значения;


второй, бывает что первый не работает, удалить из файла function.php вашей темы определенный кусок кода. Подробнее расскажет великий и могучий G ")).
Следующий этап очистки диска - это удаление дублей картинок через файл менеджер хостинга, либо удобный вам - выделяем и удаляем.

Место освободили предостаточно!, в моем конкретном случае я высвободил порядка 400 Мб, и это только один сайт!
Но вот незадача? - наши новости перестали местами отображать наши картинки!
А все потому, что движок WP втыкал в новости картинки с префиксом уменьшенной картинки -



теперь пришлось открывать КАЖДУЮ НОВОСТЬ и удалять этот пресловутый префик. Выбора в любом случае уже не оставалось - картинки я удалил раньше.
Кстати, если у вас был автопостинг в социалки - то там теперь тоже пусто! Так как они тащили именно thumb.
Перелопатив все новости и удалив хвосты - сайт снова начал отображаться как надо!
Но и это еще не все рифы на которые мне пришлось напороться! Теперь в библиотеке мультимедиа - пусто!!!



это не критично с одной стороны, т.к. кликнув на пустой квадрат мы увидим что картинка на месте.
Но как вернуть привычный вид? К сожалению те кто советовал удалить картинки умолчали об этом - пришлось доходить самому.
Открыв режим разработчика я нашел класс отвечающий за вывод превьюшек. В самом движке поиск не увенчался успехом и продолжился в базе данных!

ВНИМАНИЕ!!! Если вы слабо разбираетесь в таблица MySQL доверьте это человеку сведущему в этой области.
в любом случае сделайте резервную копию БД!

Продолжим. То что нам нужно - это таблица wp_postmeta именно в ней мы и будем редактировать строки отвечающие за отображение превью в библиотеке мультимедиа. нам нужны строки _wp_attachment_metadata,  расположенные над именем вашей картинки. Жмем редактировать и удаляем выделенный код, оставив только {} цифра после size a должна быть нулем! Это важно!



после всех этих манипуляций мы вновь можем лицезреть привычную картинку.



Возможные проблемы с отображением могут возникнуть из-за пустого значения или неправильно удаленного куска метаданных, будьте внимательны!
и последняя картинка в посте! Отыскать "битый файл" можно поиском по базе данных.



и кстати в ней то, что должно остаться после редактирования!
Надеюсь графики получилось не сильно много! "))
Новые картинки отображаются как надо!

Чтобы избежать всех лишних телодвижений - сразу отсекайте в движке создание уменьшенных копий!

Мотивация!

Пол часа назад я посмотрел фильм "Социальная сеть". Немного ранее я был несколько
огорчен тем, что посещаемость одного из моих сайтов резко просела. Грешным делом 
решил что это из-за новой партнерки по выкупу iframe трафика, и хотел снять её с сайта. Но каково было моё удивление когда я зашел в liveinternet и посмотрел  статистику за прошедшие сутки! Посещаемость сайта, которому чуть более полугода достигла 1 000 человек! 
К сожалению мои знания не такие как у главного героя фильма, но именно это послужило для меня большой мотивацией к улучшению качества всех остальных сайтов, уникализации подаваемого материала, стремлению самообразования в этой области и освоении чего-то нового.

Ваша копия виндовс заблокирована!

Приветствую всех жителей СУПРа!
Не так давно знакомый на нотник словил вирусяк который требовал
оплатить по веб мани не много, ни мало а 40 $. Вопчем такая трабла: до запуска винды появлялось окно аферистов с примерно следующим содержанием "Ваша копия виндовс заблокирована за распространение детской порнографии и педофилии, для разблокировки оплатите по WMB 200 000 бел.руб. в чеке об оплате будет код который нужно ввести в поле. Все попытки подобрать код могут привести к потере данных и дальнейшей нестабильной работе системе компьютера." Благо за два дня до часа Х, ноут был "почищен", была установлена чистая винда и все необходимые проги. Также был слит образ системы, следовательно избавиться от сей проблемы можно в два клика. Но как быть тем кто не в курсе что такое Acronis True Image ? На СУПРе врядли найдется такой, кто в этом не шарит - поэтому надежда на то что статья будет в индексе по запросу "Виндовс заблокирована" и будет полезна простым пользователям.
Во-первых, знакомый даже ради интереса не забивал в поиск подобный запрос, не говоря уже о распространении. Следовательно если Вы видите при запуске компьютера нечто отличающееся от привычного с надписью "Виндовс заблокирована" с настоятельной рекомендацией отправить денег посредством СМС или WebMoney - это ЧИСТОЙ ВОДЫ МОШЕННИЧЕСТВО ! Возможные вариации: при открытии браузера Вы видите баннер порнографического содержания, якобы Вы прошли регистрацию и подписаны на новые публикации. Чтобы отписаться от подписки отправьте СМС...... и далее по тексту.
Во-вторых, не пытайтесь ввести нечто и нажать О"К, и не потому что может слететь винда (а чем хакер не шутит!?). Лучший вариант нажать кнопку POWER - просто выключите.
В третьих, ищите того кто в этом разбирается (F8 при загрузке никто не отменял).
Четвертое, вот сюда _http://support.kaspersky.ru/viruses/deblocker (без нижнего слеша).
Резюме. Из каждой ситуации есть выход, и он не подразумевает под собой материальную основу!
Эпилог. Если Вы стали жертвой такой атаки не стоит впадать в панику! Запишите номер кошелька, или короткий номер для СМС, и обратитесь с данной информацией в правоохранительные органы. Неплохо для подтверждения иметь отчетливое фото.
P.S. К сожалению, как для себя так и для остальных, я не успел записать номер кошелька - пока искал решение в просторах инета, тесть восстановил образ. И возможно они успели "скосить" бабла и вывести из системы до бана. Но может и нет!
P.P.S. WebMoney может заморозить счета, а если деньги отправлялись через СМС билинг - злоумышленников накажут?

Уменьшение нагрузки MySQL на DLE.

Сегодня утром получил уведомление от своего хостера, мол превышен
запрос к базе данных MySQL вместо положенных 700 сек ЦЕЛЫХ 800.
При постоянной нагрузке мой АКК будет удален. Вот тут то я репу и зачесал – ведь упадут все сайты ! После небольшой переписки с суппортом полез гуглить, и вот что я нашел «Рекомендации по снижению нагрузки на базу MySQL». Для меня это было познавательно, т.к. толком не вникал в настройки движка. Для тех кто захочет прочитать пост в оригинале, внизу будет ссылка на первоисточник.
Итак, самая первая и основная рекомендация: включите кеш
Настройки системы -> Оптимизация запросов к базе данных -> Включить кеширование на сайте -> Да
Вторая основная рекомендация: отключите счетчик просмотров новостей. С точки зрения функционала, он абсолютно бесполезен, зато ресуров жрет не мало
Настройки системы -> Оптимизация запросов к базе данных -> Включить счетчик просмотров новостей -> Нет
Также можно убрать из шаблона из файлов shorstory.tpl и fullstory.tpl тег {views}
Одних только этих действий будет достаточно, чтобы существенно снизить нагрузку на хост. Но если вы хотите большего, то читайте дальше.
Настройки системы -> Оптимизация запросов к базе данных и отключаем все ненужное:
Включить Gzip сжатие HTML страниц
Включить Gzip сжатие JS файлов
Gzip сжимает страницы, уменьшая трафик, но при этом создает дополнительную нагрузку на хостинг. Рекомендую ставить Нет
Выберите тип поиска используемого на сайте
Рекомендую выставить Простой
Включить поддержку регистрации и авторизации на сайте
Без возможности регистрации сложно себе представить какой-то серьезный портал. Оставляем Да
Включить кеширование на сайте
Читаем выше
Включить поддержку мультикатегорий на сайте
Все зависит от функционала сайта. Лично я всегда ставлю Нет, но решать вам
Отображение похожих новостей
Улучшает внутреннюю перелинковку, полезно для сайтов под сапу. Лично я ставлю Да. Выводится в шаблоне полной новости fullstory.tpl тегом {related-news}
Поддержка публикации новостей на еще не наступившую дату
Мало используемая фунция. Ставим Нет
Включить поддержку фиксации новостей на сайте
Я ставлю Нет
Включить модуль ’speedbar’
Полезный для внутренней оптимизации модуль. Ставим Да. Выводится в main.tpl тегом {speedbar}
Включить поддержку управления рекламой
Предпочитаю устанавливать коды непосредственно в шаблон. Ставим Нет
Включить поддержку предмодерации комментариев
Ненужная функция, к тому же очень грузит mysql. Ставим Нет
Включить вывод самых рейтинговых статей на сайте
На ваш выбор. Я ставлю Да. Выводится в main.tpl тегом {topnews}
Включить счетчик просмотров новостей
Читаем выше
Кешировать счетчик просмотров новостей
Если счетчик включен, то ставим Да. Если нет, то без разницы
Включить календарь
Включить вывод архивов
Включать или нет – дело вкуса. Я ставлю Да. Выводятся в main.tpl календарь тегом {calendar}, архив тегом {archives}
Включить использование RSS информеров
Всякие боты и грабберы дают дополнительную нагрузку на сервак. Лучше выставить Нет
Включить поддержку модуля “Облако тегов”
В DLE плохо и неудобно реализована работа с тегами. Лично я их вообще не использую, рекомендую ставить Нет
Разрешить пользователям менять порядок сортировки новостей на сайте
Ставим Нет, из main.tpl убираем {changeskin}
Использование технологии AJAX для навигации по сайту
Ставим Нет
Прошу не кидаться камнями типа «лол» и «школоло» . Опыт и знания приходят со временем ! первоисточник

Взлом DLE 9.2 и раньше

Приветствую Всех жителей СУПРа ! В связи с большим возникновением тем про взлом сайтов
на этом движке, и потому как сам подвергался этой злой "шутке",
считаю необходимым написать некоторые методы защиты. И пускай я сам только начинаю "расшаривать" в этой теме, но некоторыми вещами хочу поделиться. Все что Вы прочтете ниже не мое к сожалению и на авторство и "умника" я не рассчитываю. Возможно для кого-то это будет не ново, но надеюсь найдутся те для кого материал будет полезен.
1.Крыса внитри !
Пожалуй самый распрастраненный метод. Способ защиты:
1.1. Открываем файл engine/inc/files.php и находим:
Цитата
$serverfile = trim( htmlspecialchars( strip_tags( $_POST['serverfile'] ) ) );
заменяем на:
Цитата
if ($member_id['user_group'] == 1) $serverfile = trim( htmlspecialchars( strip_tags( $_POST['serverfile'] ) ) ); else $serverfile = '';

if ( $serverfile != '' ) {

$serverfile = str_replace( "\\", "/", $serverfile );
$serverfile = str_replace( "..", "", $serverfile );
$serverfile = str_replace( "/", "", $serverfile );
$serverfile_arr = explode( ".", $serverfile );
$type = totranslit( end( $serverfile_arr ) );
$curr_key = key( $serverfile_arr );
unset( $serverfile_arr[$curr_key] );

if ( in_array( strtolower( $type ), $allowed_files ) )
$serverfile = totranslit( implode( ".", $serverfile_arr ) ) . "." . $type;
else $serverfile = '';

}

if( $serverfile == ".htaccess") die("Hacking attempt!");
1.2. Открываем файл engine/classes/thumb.class.php и находим: 
Цитата
$this->img['des'] = imagecreatetruecolor( $this->img['lebar_thumb'], $this->img['tinggi_thumb'] );
добавляем выше этой строки:
Цитата
if ($this->img['lebar_thumb'] < 1 ) $this->img['lebar_thumb'] = 1;
if ($this->img['tinggi_thumb'] < 1 ) $this->img['tinggi_thumb'] = 1;
2.Шелл.
Для начало нам нужно запретить работу php в тех папках в которые по умолчанию возможно залить файлы, картинки, видео, музыку и.т.д А именно папки uploads и templates в них нужно добавить файл .htacces с прописанным параметром. Код:
Цитата
Order allow,deny
Deny from all
</FilesMatch>

Вот и всё теперь шел залить нельзя!
Но если им удастся получить доступ к вашей админ панели, и они попытается разрешить заливку php скриптов. Для подстраховки можно сделать так. Открыть: engine/inc/files.php и найти там Код:
Цитата

$allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
$allowed_video = array ("avi", "mp4", "wmv", "mpg", "flv", "mp3", "swf", "m4v", "m4a", "mov", "3gp", "f4v" );
$allowed_files = explode( ',', strtolower( $config['files_type'] ) );
$img_result_th = "";
$img_result = "";
Найденное заменяем на код:
Цитата
$allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
$allowed_video = array ("avi", "mp4", "wmv", "mpg", "flv", "mp3", "swf", "m4v", "m4a", "mov", "3gp", "f4v" );
$allow_conf = str_replace("php",md5(time() - rand(30,60)),strtolower( $config['files_type'] ));
$allowed_files = explode( ',', $allow_conf );
$img_result_th = "";
$img_result = "";
После этого вы очень сильно усложните заливку шелла на сайт, и сможете наконец спать спокойно!
3.Взлом через модуль облако тегов.
У нас два варианта, первый, по HTML, второй через XSS. С помощью данного метода мы можем получить сессию админа, вытащить куки, успешно залогиньться и сотворить бяку противнику. Код взлома не привожу специально дабы им не воспользовались в корыстных целях. Пути решения проблемы: вариант от -=BlackSmoke=-  : заинглудь в файл класс парсинга входящих данных(parse.class.php) и с помощью него сделай фильтрацию. Что-то типа: 
Цитата
$tags = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_GET['tagcloud'] ) ) ), ENT_QUOTES ) );
Топорный метод от xex:
а еще можно и нужно в настройках админки иметь такой расклад:
Метод авторизации в админпанели = Расширенный метод
+ для надежности и большей параноидальности
Контроль изменения IP адреса = Высокий уровень
Сбрасывать ключ авторизации при каждом входе? = Да
Ну вот вроде и все что я смог найти на серче. Если кому либо известны другие дырки и "таблетка" от этого прошу выкладывать тут. Также буду рад дополнениям к вышесказанному. Ссылки на первоисточник не ставил дабы не было видно сами методы взлома. 
Подведем небольшой итог. 
В первую очередь из админки сайта меняем admin.php на абракадабра.php, идем на хост (как Вам удобно - я пользуюсь ftp хостера) и меняем admin.php на абракадабра.php. После этого меняем пароли ко входу в админку, к ftp и к базам данных (т.к. у меня даже базу СПЕРЛИ, лишь весомые доказательства того что я админ, + скрин со статистики помогли восстановить). Всегда очищайте перед выходом с админ панели кеш. Если у Вас еще нет бекапа - создайте, и обновляйте его с некоторой периодичностью. Также не помешает изменить файл dbconfig.php на кадабра.php и заменить имя там, где происходит его подключение. Сам пока на такое не решился т.к. не могу найти путь где он  лежит (мало времени). Для облегчения поиска пользуйтесь Ctrl+F в окне вводим $dbconfig и там где он найдется меняем на то что придумали.
Надеюсь кому-то все это пригодится! Дополняйте если есть что сказать!