X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

История благодарностей участнику Сергуня. Поблагодарили: 48 раз(а)
Дата поста: В теме: За сообщение: Поблагодарили:
11.6.2015, 23:35 Верстка HTML/CSS
Верстка по низкой цене
Заказывал, по необходимости, верстку у ТС. Понравилась валидность HTML "из коробки". Пара мелких правок было исправлено сразу же после сдачи работы. Итог: доволен. Рекомендую к сотрудничеству.


Спасибо сказали: (1)
25.2.2013, 21:38 Наглость заказчика или откуда такое воспитание.
Речь пойдет о юзере Маулталка
Приветствую Маулчан. Сей пост пишу потому, что был удивлен наглостью одного из заказчиков (PriM).

Поступил заказ на верстку макета и созданию шаблона под DLE. Работу выполнил, успешно отдал заказчику и получил оплату. После, ежедневно стал засыпаться вопросами от этого человека, который, как оказалось, не понимает даже элементарных вещей. Я пару дней терпеливо отвечал и выполнял кое-какую работу за "просто так", после чего мне это надоело. Поступила партия новых задач, решать которые я предложил за энную сумму и человек согласился. Опять же, работу выполнил и сдал, а оплату, в полном размере, не получил. Напоминал около месяца, потом поставил минус в карму и забил. Я же не попугай, да и сумма - мелочь.

Проходит почти четыре месяца и он пишет мне в скайп (копирую историю переписки):
Развернуть/Свернуть
[1:34:33] Антон - svetti.net: Добрый день на днях я отправлю свой долг. И надо будет что то переделать на сайте. А то много косяков осталось. Много чего не работает, довести до ума. А то все как то криво получилось. За это заплачю естественно
[1:35:20] Антон - svetti.net: и мне псд исходничек шапки ты не скинул
[18:30:16] BR0kEN: Привет-привет.

Во-первых, не "ты", а "вы". Во-вторых, никаких дел с вами иметь я не собираюсь.
[19:05:42] Антон - svetti.net: ну дело твое.
[19:05:49] Антон - svetti.net: Не хоч дак не хоч
[19:06:08] Антон - svetti.net: Найду друго исполнителя
[19:08:07] BR0kEN: "Ваше", а не "твое", еще раз повторяю. Ищите кого угодно, но оставшиеся 5 WMZ пришлите на: Z304876283258
[19:09:06] Антон - svetti.net: Я не понимаю почему ты не хочешь дальше сотрудничать если честно. По моему я сам написал
[19:09:20] Антон - svetti.net: Готов вернуть 5 у.е и продолжить сотрудничество
[19:10:15] BR0kEN: Опять же таки, повторюсь, - не хочу из-за банального отношения к себе. Вторая причина - нет интереса.
[19:10:45] Антон - svetti.net: ну нет так нет
[19:10:55] BR0kEN: Но остаток я жду
[19:11:35] Антон - svetti.net: Если уберешь после возврата свой минус
[19:11:37] Антон - svetti.net: То верну
[19:12:29] BR0kEN: Нет, не уберу. Пол года почти прошло. А с таким подходом как у вас, поставлю еще один и запощу этот разговор.
[19:12:56] Антон - svetti.net: А ну если не уберете то смысла возвращать не вижу я по моему по нормальному написал
[19:13:02] Антон - svetti.net: и ничего плохого не хотел
[19:13:19] BR0kEN: Есть банальная деловая этика. Прощайте.
[19:13:27] Антон - svetti.net: Удачи.
[19:14:28] Антон - svetti.net: Если не сложно дай ссылку на топик
[19:14:29] Антон - svetti.net: свой

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

По-этому, если к кому-либо обратиться этот человек, дважды подумайте перед сотрудничеством.


Спасибо сказали: (5)
3.11.2012, 13:10 Сайт с исходниками ajax
jquery pjax - как самый простой способ.

Материал по теме:
http://habrahabr.ru/post/154617/
http://habrahabr.ru/post/123972/

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (1)
3.11.2012, 13:09 DLE Вывод двух разных новостей
Учтите, что каждый подключенный custom - это 1 запрос к БД. Советую почитать о block.pro


Спасибо сказали: (1)
7.9.2012, 13:02 Кэш изображения.
Если сервер apache то:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
</IfModule>

<ifModule mod_headers.c>
        <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
                Header set Cache-Control "max-age=2592000, public"
        </filesMatch>
</ifModule>


Не будет работать на связках и чистом nginx.


Спасибо сказали: (1)
5.9.2012, 22:13 Вывод новостей только на главной странице.
CMS DLE
Версия какая?

Вы точно все верно делаете? Конструкция такова:

[aviable=main]
[not-category=все категории]
[page-count=1]
code
[/page-count]
[/not-category]
[/aviable]


Спасибо сказали: (1)
5.9.2012, 22:09 Слайды в категории. Новости как слайды на Dle 9.5. Как реализовать?
Слайды в категории. Новости как слайды на DLE 9.5. Как реализовать?
blockpro + слайдер.

Реализую за пол часа. Цена: 10$.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (1)
29.8.2012, 6:21 Вставить Adsence в недоступные места
position:absolute и z-index спозиционируют блоки как нужно.


Спасибо сказали: (1)
19.7.2012, 13:41 Флэш перекрывает выпадающее меню
Если СУК DLE, то при вставке через <object> будет перекрываться. А если взять ссылку и запихнуть ее в теги, такие как flash, youtube, то не будет.

По идее можно покопаться в parse.class.php, посмотреть как происходит обработка и сделать чтобы при вставке object он тоже был на заднем плане.

И да, wmode и z-index не помогают. Давно пробовал.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (1)
18.7.2012, 15:02 Валидная Html верстка любой сложности
Верстка макетов на DLE и обычных HTML страниц
Цены: *

- верстка полноценного DLE шаблона - от 50$ + от 15$ за адаптивную верстку**
- верстка main.tpl - от 15$
- верстка отдельных элементов шаблона - от 5$
- натяжка HTML + CSS на DataLife Engine - от 20$

* - Цены варьируются в зависимости от сложности поставленной задачи.
** - Такой тип верстки сложней, но используя его можно создать адаптирующийся под разные разрешения экрана (устройства) шаблон.


Дополнительные услуги:

- верстка отдельных HTML страниц - от 10$
- правка существующих страниц и шаблонов DLE - от 5$
- реализация кроссбраузерности (если таковая отсутствует) - от 15$
- установка CMS, модулей и хаков - от 2$*
- решение проблем с CMS: устранение возникших неисправностей - от 2$
- добавление необходимого функционала из новых версий движка в старые - от 5$
- оптимизация системы, снижение нагрузки, удаление ненужного функционала - от 10$

* - бесплатно при заказе верстки. CMS или модули предоставляются заказчиком.

Что я гарантирую в своих работах?

- проходящий проверку валидатором код
- кроссбраузерность
- структурированные документы шаблона (как некоторые выражаются - красивый код)
- помощь в настройке*

* - При заказе сложного шаблона для DLE может потребоваться правка файлов движка. Ко всем своим работам я прилагаю инструкцию, но случается так, что у человека что-то не выходит. В таких ситуациях смело обращайтесь ко мне за решением проблемы.

Оговорки:

- передача макетов и прочих файлов только через email
- комиссия при оплате за ваш счет

Старые работы - http://www.weblancer.net/users/BR0kEN/portfolio/
Новые работы - http://firstvector.org/portfolio


П.С. Что забыл - допишу позже.


Спасибо сказали: (4)
13.7.2012, 19:42 Сделать возможность вставлять HTML в новость на DLE движке
Откройте engine/inc/addnews.php и найдите строку:
if( $config['allow_admin_wysiwyg'] != "yes" ) $fix_br = "<input type=\"checkbox\" name=\"allow_br\" value=\"1\" checked> {$lang['allow_br']}";

Вставьте ниже:
if( $config['allow_admin_wysiwyg'] != "yes" ) $fix_bre = "<input type=\"radio\" name=\"allow_br\" value=\"0\"> {$lang['static_br_html_1']}";
if( $config['allow_admin_wysiwyg'] != "yes" ) $fix_brd = "<input type=\"radio\" name=\"allow_br\" value=\"2\" checked> {$lang['static_br_html_2']}";

Далее найдите {$fix_br} и замените на:
<br/> {$fix_br} {$fix_bre} {$fix_brd}

С фильтрацией: http://savepic.ru/3199617.jpg
Без нее: http://savepic.org/2359027.jpg


upd: Кстати, при редактировании новостей нужна данная возможность? Разберетесь как портировать?


Спасибо сказали: (1)
13.7.2012, 18:41 Бесплатный информационный шаблон ДЛЕ


Спасибо сказали: (1)
7.7.2012, 8:50 Исправление формы добавления файлов на сервер
Изменилось, активная ссылка нужного вам вида выводиться как в кратких, так и в полных новостях. Но как вы сказали - я вас не понял. Чтобы ссылка "http://example.com/engine/download.php?id=75" не выводилась в новостях - проделайте обратные действия.

Вам в админке при добавлении/редактировании публикации нужна ссылка типа: "http://example.com/engine/download.php?id=75", так?
Вижу два решения, причем первой до жути смешное и, на мой взгляд, правильное.

Первый:

1. Загрузили файл, получили bbcode вида "[attachment=75:name.rar]".
2. Вставляете сыылку "http://example.com/engine/download.php?id=75" и это будет равносильно коду аттача.

Плюсы: никаких правок кода и использование двух вариантов аттача.
Минусы: отсутствуют.

Второй:

1. Я сделаю правки СУК и вы получите ссылку "http://example.com/engine/download.php?id=75" сразу при вставке.

Плюсы: отсутствуют.
Минусы: я попрошу оплату, потеряете bbcode аттача и останется только ссылка.

Изменилось, активная ссылка нужного вам вида выводиться как в кратких, так и в полных новостях. Но как вы сказали - я вас не понял. Чтобы ссылка "http://example.com/engine/download.php?id=75" не выводилась в новостях - проделайте обратные действия.

Вам в админке при добавлении/редактировании публикации нужна ссылка типа: "http://example.com/engine/download.php?id=75", так?
Вижу два решения, причем первой до жути смешное и, на мой взгляд, правильное.

Первый:

1. Загрузили файл, получили bbcode вида "[attachment=75:name.rar]".
2. Вставляете сыылку "http://example.com/engine/download.php?id=75" и это будет равносильно коду аттача.

Плюсы: никаких правок кода и использование двух вариантов аттача.
Минусы: отсутствуют.

Второй:

1. Я сделаю правки СУК и вы получите ссылку "http://example.com/engine/download.php?id=75" сразу при вставке.

Плюсы: отсутствуют.
Минусы: я попрошу оплату, потеряете bbcode аттача и останется только ссылка.

Изменилось, активная ссылка нужного вам вида выводиться как в кратких, так и в полных новостях. Но как вы сказали - я вас не понял. Чтобы ссылка "http://example.com/engine/download.php?id=75" не выводилась в новостях - проделайте обратные действия.

Вам в админке при добавлении/редактировании публикации нужна ссылка типа: "http://example.com/engine/download.php?id=75", так?
Вижу два решения, причем первой до жути смешное и, на мой взгляд, правильное.

Первый:

1. Загрузили файл, получили bbcode вида "[attachment=75:name.rar]".
2. Вставляете сыылку "http://example.com/engine/download.php?id=75" и это будет равносильно коду аттача.

Плюсы: никаких правок кода и использование двух вариантов аттача.
Минусы: отсутствуют.

Второй:

1. Я сделаю правки СУК и вы получите ссылку "http://example.com/engine/download.php?id=75" сразу при вставке.

Плюсы: отсутствуют.
Минусы: я попрошу оплату, потеряете bbcode аттача и останется только ссылка.

Изменилось, активная ссылка нужного вам вида выводиться как в кратких, так и в полных новостях. Но как вы сказали - я вас не понял. Чтобы ссылка "http://example.com/engine/download.php?id=75" не выводилась в новостях - проделайте обратные действия.

Вам в админке при добавлении/редактировании публикации нужна ссылка типа: "http://example.com/engine/download.php?id=75", так?
Вижу два решения, причем первой до жути смешное и, на мой взгляд, правильное.

Первый:

1. Загрузили файл, получили bbcode вида "[attachment=75:name.rar]".
2. Вставляете сыылку "http://example.com/engine/download.php?id=75" и это будет равносильно коду аттача.

Плюсы: никаких правок кода и использование двух вариантов аттача.
Минусы: отсутствуют.

Второй:

1. Я сделаю правки СУК и вы получите ссылку "http://example.com/engine/download.php?id=75" сразу при вставке.

Плюсы: отсутствуют.
Минусы: я попрошу оплату, потеряете bbcode аттача и останется только ссылка.

Изменилось, активная ссылка нужного вам вида выводиться как в кратких, так и в полных новостях. Но как вы сказали - я вас не понял. Чтобы ссылка "http://example.com/engine/download.php?id=75" не выводилась в новостях - проделайте обратные действия.

Вам в админке при добавлении/редактировании публикации нужна ссылка типа: "http://example.com/engine/download.php?id=75", так?
Вижу два решения, причем первой до жути смешное и, на мой взгляд, правильное.

Первый:

1. Загрузили файл, получили bbcode вида "[attachment=75:name.rar]".
2. Вставляете сыылку "http://example.com/engine/download.php?id=75" и это будет равносильно коду аттача.

Плюсы: никаких правок кода и использование двух вариантов аттача.
Минусы: отсутствуют.

Второй:

1. Я сделаю правки СУК и вы получите ссылку "http://example.com/engine/download.php?id=75" сразу при вставке.

Плюсы: отсутствуют.
Минусы: я попрошу оплату, потеряете bbcode аттача и останется только ссылка.

Изменилось, активная ссылка нужного вам вида выводиться как в кратких, так и в полных новостях. Но как вы сказали - я вас не понял. Чтобы ссылка "http://example.com/engine/download.php?id=75" не выводилась в новостях - проделайте обратные действия.

Вам в админке при добавлении/редактировании публикации нужна ссылка типа: "http://example.com/engine/download.php?id=75", так?
Вижу два решения, причем первой до жути смешное и, на мой взгляд, правильное.

Первый:

1. Загрузили файл, получили bbcode вида "[attachment=75:name.rar]".
2. Вставляете сыылку "http://example.com/engine/download.php?id=75" и это будет равносильно коду аттача.

Плюсы: никаких правок кода и использование двух вариантов аттача.
Минусы: отсутствуют.

Второй:

1. Я сделаю правки СУК и вы получите ссылку "http://example.com/engine/download.php?id=75" сразу при вставке.

Плюсы: отсутствуют.
Минусы: я попрошу оплату, потеряете bbcode аттача и останется только ссылка.


Спасибо сказали: (1)
6.7.2012, 7:27 Исправление формы добавления файлов на сервер
Найти код в engine/modules/functions.php:
} elseif( $config['files_count'] == 'yes' ) {

$replace_1[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
$replace_2[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >\\1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";

} else {

$replace_1[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$row['name']}</a> [{$size}]</span>";
$replace_2[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >\\1</a> [{$size}]</span>";

}

и заменить его на:

} elseif( $config['files_count'] == 'yes' ) {

$replace_1[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}</a></span>";
$replace_2[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}</a></span>";

} else {

$replace_1[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}</a></span>";
$replace_2[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}</a></span>";

}

Будет выводиться активная ссылка вида: "http://example.com/engine/download.php?id=75".

Или вам нужна неативная для формирования кода, например такого: <a href="[attachment=1]">attach</a>?


Спасибо сказали: (1)
4.7.2012, 6:35 Как вырезать запятую из Облако тегов (DLE)
Чтобы убрать запятую в самом облаке, открываем engine/modules/tagscloud.php и ищем строку:
$tpl->result['tags_cloud'] = implode(", ", $tags);

заменяем на:

$tpl->result['tags_cloud'] = implode("&nbsp; ", $tags);


Чтобы убрать запятую в новостях, открываем engine/modules/show.short.php и ищем строку:
$tpl->set( '{tags}', implode( ", ", $tags ) );

заменяем на:
$tpl->set( '{tags}', implode( "&nbsp; ", $tags ) );

Действие №2 также нужно повторить для show.custom.php и show.full.php из этой же папки.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (3)
30.6.2012, 10:09 Добавляем новые теги [x][/x] и [not-x][/not-x] для различных переменных.
DataLife Engine 9.0
Приветствую вас, господа.

В этой статье я хочу рассказать о кастомизации профиля пользователя, а именно о добавлении собственных тегов: [foto], [not-foto], [not-signature] и переносе существующих с DLE 9.6.

Использую я DataLife Engine девятой версии и, для моих целей, в этой СУК есть не только очень много ненужного функционала, но и существенная недостача необходимого. Очень часто встают задачи, которые не решить без "хирургического вмешательства". Обновляться тоже, по многочисленным причинам, нельзя.

В новых версиях движка появились замечательные теги для шаблона userinfo.tpl, такие как [news-num][/news-num], [not-comm-num][/not-comm-num] и им подобные. Перенести их не составляет труда.

1. Добавляем теги [news-num], [not-news-num], [comm-num], [not-comm-num], [rss] в DLE 9.0:
Развернуть/Свернуть
Открыть engine/modules/profile.php и найти:

if( $row['news_num'] ) {
        
if( $config['allow_alt_url'] == "yes" ) {
            
$tpl->set( '{news}', "<a href=\"" . $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/news/" . "\">" . $lang['all_user_news'] . "</a>" );
$tpl->set( '[rss]', "<a href=\"" . $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/rss.xml" . "\" title=\"" . $lang['rss_user'] . "\">" );
$tpl->set( '[/rss]', "</a>" );
        
} else {
            
$tpl->set( '{news}', "<a href=\"" . $PHP_SELF . "?subaction=allnews&amp;user=" . urlencode( $row['name'] ) . "\">" . $lang['all_user_news'] . "</a>" );
$tpl->set( '[rss]', "<a href=\"engine/rss.php?subaction=allnews&amp;user=" . urlencode( $row['name'] ) . "\" title=\"" . $lang['rss_user'] . "\">" );
$tpl->set( '[/rss]', "</a>" );
}
} else {
        
$tpl->set( '{news}', $lang['all_user_news'] );
$tpl->set_block( "'\\[rss\\](.*?)\\[/rss\\]'si", "" );
    
}

Заменить найденый код на:

if( $row['news_num'] ) {

if( $config['allow_alt_url'] == "yes" ) {
        
$tpl->set( '{news}', "<a href=\"" . $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/news/" . "\">" . $lang['all_user_news'] . "</a>" );
$tpl->set( '[rss]', "<a href=\"" . $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/rss.xml" . "\" title=\"" . $lang['rss_user'] . "\">" );
$tpl->set( '[/rss]', "</a>" );
        
} else {
            
$tpl->set( '{news}', "<a href=\"" . $PHP_SELF . "?subaction=allnews&amp;user=" . urlencode( $row['name'] ) . "\">" . $lang['all_user_news'] . "</a>" );
$tpl->set( '[rss]', "<a href=\"engine/rss.php?subaction=allnews&amp;user=" . urlencode( $row['name'] ) . "\" title=\"" . $lang['rss_user'] . "\">" );
$tpl->set( '[/rss]', "</a>" );
}

$tpl->set( '{news-num}', $row['news_num'] );
$tpl->set( '[news-num]', "" );
$tpl->set( '[/news-num]', "" );
$tpl->set_block( "'\\[not-news-num\\](.*?)\\[/not-news-num\\]'si", "" );

} else {
        
$tpl->set( '{news}', $lang['all_user_news'] );
$tpl->set_block( "'\\[rss\\](.*?)\\[/rss\\]'si", "" );
$tpl->set( '{news-num}', 0 );
$tpl->set_block( "'\\[news-num\\](.*?)\\[/news-num\\]'si", "" );
$tpl->set( '[not-news-num]', "" );
$tpl->set( '[/not-news-num]', "" );
}

Найти:

if( $row['comm_num'] ) {
        
$tpl->set( '{comments}', "<a href=\"$PHP_SELF?do=lastcomments&amp;userid=" . $row['user_id'] . "\">" . $lang['last_comm'] . "</a>" );
    
} else {
        
$tpl->set( '{comments}', $lang['last_comm'] );
    
}

Заменить на:

if( $row['comm_num'] ) {

$tpl->set( '[comm-num]', "" );
$tpl->set( '[/comm-num]', "" );
$tpl->set( '{comm-num}', $row['comm_num'] );
$tpl->set( '{comments}', "<a href=\"$PHP_SELF?do=lastcomments&amp;userid=" . $row['user_id'] . "\">" . $lang['last_comm'] . "</a>" );
$tpl->set_block( "'\\[not-comm-num\\](.*?)\\[/not-comm-num\\]'si", "" );
    
} else {
        
$tpl->set( '{comments}', $lang['last_comm'] );
$tpl->set( '{comm-num}', 0 );
$tpl->set_block( "'\\[comm-num\\](.*?)\\[/comm-num\\]'si", "" );
$tpl->set( '[not-comm-num]', "" );
$tpl->set( '[/not-comm-num]', "" );
}
Справились. Сделать это элементарно. Теперь в userinfo.tpl мы можем использовать теги: [news-num][/news-num], [not-news-num][/not-news-num], [comm-num][/comm-num], [not-comm-num][/not-comm-num] и [rss][/rss]. Зачем они нужны? Читайте в официальной документации DLE.

Идем дальше и малость усложняем задачу. До этого мы просто скопировали функционал, а на сей раз кое-что допишем.

Случилось так, что на одном из моих сайтов понадобился тег [not-signature]. Он выводит текст если отсутствует подпись. Его и добавим.

2. Добавляем теги [not-signature][/not-signature] в DLE 9.0:
Развернуть/Свернуть
Открыть engine/modules/profile.php и найти:
if( $row['signature'] and $user_group[$row['user_group']]['allow_signature'] ) {
        
$tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "\\1" );
$tpl->set( '{signature}', stripslashes( $row['signature'] ) );
    
} else {
        
$tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "" );
    
}

Заменить найденый код на:

if( $row['signature'] and $user_group[$row['user_group']]['allow_signature'] ) {
        
$tpl->set( '[signature]', "" );
$tpl->set( '[/signature]', "" );
$tpl->set( '{signature}', stripslashes( $row['signature'] ) );
$tpl->set_block( "'\\[not-signature\\](.*?)\\[/not-signature\\]'si", "" );
    
} else {
        
$tpl->set( '{signature}', "" );
$tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "" );
$tpl->set( '[not-signature]', "" );
$tpl->set( '[/not-signature]', "" );
}
Сделали и это. Тоже ничего сложного. Выводим текст, при отсутствии подписи, тегами: [not-signature]текст[/not-signature].

Гулять, так гулять. Добавим еще несколько. Принцип их работы идентичен предыдущим, но направлен на присутствие/отсутствие аватара у пользователя.

3. Добавляем теги [foto][/foto] и [not-foto][/not-foto] в DLE 9.0:
Развернуть/Свернуть
Открыть engine/modules/profile.php и найти:
if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );

Заменить найденый код на:

if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
    
if( $row['foto'] ) {
$tpl->set( '[foto]', "" );
$tpl->set( '[/foto]', "" );
$tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
$tpl->set_block( "'\\[not-foto\\](.*?)\\[/not-foto\\]'si", "" );
    
} else {
$tpl->set_block( "'\\[foto\\](.*?)\\[/foto\\]'si", "" );
$tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
$tpl->set( '[not-foto]', "" );
$tpl->set( '[/not-foto]', "" );
}
Готово. Теперь при отсутствии аватара можно выводить текст в тегах [not-foto][/not-foto], а при его наличии - [foto][/foto].

Вот и все. Посмотрев на код можно понять что ничего сложного в нем нет и, по надобности, идентичные теги можно создать для любой переменной.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (1)
28.6.2012, 20:49 Подбор ключевых слов к сайту - Бесплатно
Ну можно за отзыв.
Заплатил деньги за подбор описаний для категорий 15.06.2012. На сегодняшний день, 28.06.2012, я не получил ни ответа от пользователя, ни описаний, ни возвращенных средств. Обещал же keyseo сделать все за один вечер. После того как прошло столько времени я самостоятельно решил с ним связаться.

Прилагаю историю переписки с ТС:
Развернуть/Свернуть
BR0kEN, 28.06.2012 16:34:46:
Добрый день. Мой ник на мауле - "Сергуня"
Заказывал у вас описания для категрий. Прошу вернуть деньги.

BR0kEN, 16:34:48:
http://www.maultalk.com/topic125462s0.html

Virus, 16:35:20:
Здраствуйте, наконецто ви появились. Меня там забанили. Потому не мог свами связатса.

BR0kEN, 16:36:16:
Дескрипшены готовы?

Virus, 16:36:18:
Если вам ещо надо доделать ваш заказ то немогли би нашу всю переписку мне скинуть на емейл и я доделаю.

BR0kEN, 16:36:42:
Сроки?

Virus, 16:37:25:
ну надо всю переписку. и я посмотю что к чему и скажу вам. когда будет.

BR0kEN, 16:37:51:
Обещали сделать в тот же день. Пишите email.

Virus, 16:38:17:
обещал делал потом хотел уточнить и меня забанили ппц кароче. много заков задержалить и проблеми типерь.

Virus, 16:38:19:
danken@list.ru

BR0kEN, 16:39:16:
Простите, а в составленных описания будут такие же орфограф. ошибки как и в ваших сообщениях?

Virus, 16:40:39:
ладно я понял, давай те свой кошельок потом верну вам етот бакс.

BR0kEN, 16:41:16:
Дело не в деньгах. Описания мне нужны, но качественные. Ответите на вопрос?

Virus, 16:42:35:
напомните мне какие там описание должни бить?

BR0kEN, 16:42:47:
Сейчас пришлю копию на email.

Virus, 16:43:07:
ок

BR0kEN, 16:44:18:
Отправил

Virus, 16:48:04:
опа, цени на ето уже поднялись. блин фигово. я помню ви мне 1$ прислали. да?

BR0kEN, 16:50:58:
Если я делал заказ по одной цене, то повышение их в последствии меня не интересует. Я выслал доллар и он является 80% от общей суммы. Должен я, якобы, еще 13 рублей.

Virus, 16:52:53:
напешите мне свйо WMZ я просто небуду делать такой заказ за такие деньги извените.

Virus, 16:52:57:
нету стоко времени

BR0kEN, 16:54:57:
Т.е. вы подтверждаете что приняли заказ по вами же установленной цене, не связались со мной на протяжении двух недель (хотя обещали сделать все за один день), а теперь просите повышенную оплату или же отказываетесь от выполнения?

Virus, 16:57:21:
Я извенятсь конешно, я невиноват что меня забанили на форуме. ето раз. во вторих я добавил вас в ICQ в тот же день, написал вам вы ничево неотписало до типерь.
Я небуду делать за ето цену описание так как еже прошло время делать такое за копейки. Ето виходит что надо писать 2700 символов.

Virus, 16:57:42:
если хотите можете доплатить если нет я верну вам день. Извените.

BR0kEN, 17:00:02:
Во-первых, ICQ в профиле у меня не указан, добавить вы меня не могли. Во-вторых, вы сами себе противоречите - никто не мешал устанавливать нужную вам цену изначально.

Кошель: Z142748166989

Virus, 17:00:13:
укразан

Virus, 17:02:43:
я понимаю, потому верну вам деньги.

BR0kEN, 17:06:12:
Перевода ждать еще 2 недели?

Virus, 17:06:21:
вечером будет как буду дома.

Virus, 17:06:32:
я щас наработе и у меня нету доступа.

Virus, 17:07:23:
у меня кроме вас ещо много заказов. Так что ждите. Севодня будут точно.

BR0kEN, 17:08:01:
Как ваши заказы относятся к моим деньгам?

Virus, 17:08:12:
никак.

Virus, 19:32:39:
тут?

BR0kEN, 19:32:46:
Да, тут

Virus, 19:33:13:
отослал проверте

BR0kEN, 19:34:05:
Есть

Деньги я, в итоге, получил. Очень неприятными стали моменты: пользователь предоставляющий услугу особо не старался выйти на связь, начал рассказывать о каком-то подорожании и смене цены которую сам назначил изначально. Абсолютно неграмотен, что видно из истории переписки. Заказывая у него платные услуги - задумайтесь нужен ли вам такой исполнитель.


Спасибо сказали: (1)
13.6.2012, 16:06 Как сделать дублирование содержимого одного поля в другое на CMS DLE?
У меня версия движка намного старее и код совсем не такой. Но это роли не играет. Проблема решена подставлением этой же строки после функции вывода тегов. Спасибо вам огромное.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (1)
10.6.2012, 18:04 Joomla vs. Drupal.
Как Джумла подвела. И кого теперь выбрать?
Сослаться на руки проще всего. А бывает же и такое, что не устраивает какой-то момент.


Спасибо сказали: (1)
5.6.2012, 5:20 пара вопросов по dle
На первый вопрос: "phpmyadmin → имя БД → таблица dle_users"


Спасибо сказали: (1)
27.5.2012, 0:38 Help: Ссылка в движке DLE
GR1DER правильно написал. Файл navigation.tpl формируется в show.short.php. Откройте его, найдите раздел "Pages" и промониторте его до следующего, "Next Link". Ссылка там.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (1)
21.12.2011, 16:41 Рекомендации по настройке сервера и системы управления контентом DataLife Engine.
Приветствую всех, кто посвящает этим строкам свое драгоценное время.

В этой статье я хочу рассказать о способах оптимально настроить сервер и систему управления контентом DataLife Engine. За 4 года работы с интернет сайтами и серверами я усвоил, что безопасность превыше удобства и что ей нужно уделять внимание. Оговорка: я не претендую на авторство чьей-либо интеллектуальной собственности! Весь материал собран на просторах интернета.

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

Защита и конфигурация вашего сервера.

1. Настройка конфигурации сервера с использованием связки front-end Nginx к Apache.


Преимущества подобной схемы можно понять на небольшом примере. Представьте себе, что вашему веб серверу Apache необходимо обслужить порядка 1000 запросов одновременно, причем многие из них подключены к медленным каналам связи. В случае использования Apache мы получим 1000 процессов httpd, на каждый из которых будет выделена оперативная память, и эта память не освободится до тех пор, пока клиент не получит запрошенный контент.

В случае схемы с применением front-end сервера получим значительную экономию ресурсов за счет того, что после поступления запроса, nginx передает запрос Apache и быстро получает ответ. В итоге, Apache, после того как отдал ответ nginx, освобождает память. Далее с клиентом взаимодействует веб-сервер nginx, который как раз и написан для раздачи статического контента большому количеству клиентов при незначительном потреблении системных ресурсов.

Для корректной работы нашей связки понадобиться модуль mod_rpaf для Apache. Возникает такая необходимость по следующей причине: запросы к Apache приходят с IP-адреса, на котором работает nginx, соответственно, в журнальных файлах Apache будет фигурировать только IP-адрес nginx сервера. Также без использования данного модуля начнутся проблемы со скриптами, в которых используется IP-адрес посетителя и перестанет правильно работать механизм ограничения доступа по IP-адресам с помощью .htaccess.

Установка NGINX на популярные ОС.

Red Hat Enterprise Linux 4 / CentOS 4
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов.

Red Hat Enterprise Linux 5 / CentOS 5
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов EPEL.

ASPLinux Server 5 / Fedora
nginx присутствует в стандартной поставке дистрибутива.

Если репозитории подключены или просто не требуются, выполняем: yum install nginx

Установка Apache.

Чтобы установить Apache веб-сервер достаточно выполнить: yum install httpd

Установка mod_rpaf.

1. Устанавливаем пакет httpd-devel:
yum -y install httpd-devel

2. Скачиваем и устанавливаем mod_rpaf:
Входим в директорию /usr/local/src
cd /usr/local/src

Загружаем в /usr/local/src файл mod_rpaf-0.6.tar.gz
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz

Распаковываем mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz

Переходим в каталог в который распаковали
cd mod_rpaf-0.6

Ставим модуль в систему
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

3. Далее нужно создать файл конфигурации mod_rpaf - /etc/httpd/conf.d/rpaf.conf и добавить в него следующие строки:
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy

где xx.xx.xx.xx и yy.yy.yy.yy - IP адреса вашего сервера. Если на сервере более двух IP, добавьте их по той же аналогии.

Далее требуется перезапустить Apache, для этого выполните команду
service httpd restart

4. В nginx внутри блока http {} должны быть указаны строки:
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Если данные строки указаны, дописывать не нужно.

Если модифицируется nginx.conf, следует перезапустить nginx:
/etc/init.d/nginx stop
/etc/init.d/nginx start

5. Как проверить, работает ли установленный модуль?
На любом из доменов, которые расположены на Вашем сервере, разместите файл test.php с содержимым:
"<? echo $_SERVER['REMOTE_ADDR']; ?>"

Далее зайдите по ссылке http://domain.com/test.php, где domain.tcom - имя вашего домена. Если отображается IP, отличающийся от IP вашего сервера, модуль работает корректно.

Настройка NGINX.

Ниже приведен конфигурационный файл nginx для работы в качестве front-end сервера. Подразумевается, что nginx будет работать на всех интерфейсах на 80 порту, а Apache будет работать на интерфейсе 127.0.0.1 и порту 8080. Сохраните данный конфигурационный файл в каталоге /etc/nginx/ с именем nginx.conf.

user  nginx;
worker_processes  10;
error_log  /var/log/nginx/error.log debug;
pid        /var/run/nginx.pid;

events {
worker_connections  20000;
}

http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;
log_format  main  '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "http_x_forwarded_for"';
access_log  /var/log/nginx/access.log  main;
sendfile       on;
tcp_nopush     on;
tcp_nodelay    on;
keepalive_timeout  30;
send_timeout       900;
server_tokens      off;
server {
listen       80;
server_name     _;
server_name_in_redirect  off;
access_log  /var/log/nginx/host.access.log  main;
location / {
proxy_pass         http://127.0.0.1:8080/;
proxy_redirect     off;
proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
client_max_body_size       10m;
client_body_buffer_size    128k;
proxy_connect_timeout      90;
proxy_send_timeout         90;
proxy_read_timeout         90;
proxy_buffer_size          4k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 10m;
}
}

}

Настройка Apache.

В файле конфигурации Apache /etc/httpd/conf/httpd.conf найдите строку:
Listen:80

и замените ее строкой:
Listen 127.0.0.1:8080

Настройка mod_rpaf.

Добавьте модуль mod_rpaf в файл конфигурации Apache. Для этого в файл /etc/httpd/conf/httpd.conf добавьте следующую строку:
LoadModule rpaf_module modules/mod_rpaf-2.0.so

Затем в этот же файл добавьте строки:
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 192.168.0.1
RPAFheader X-Real-IP

Вместо 192.168.0.1 необходимо поставить IP-адрес сервера.

2. Конфигурация сервера для защиты от dos-атак.

Включаем в nginx кеширование главной страницы для тех у кого нет cookie.

Добавляем ограничения в nginx.conf:
limit_req_zone $binary_remote_addr zone=two:20m rate=2r/s;
server{
location / {
limit_req zone=two burst=5;
}
}
}

Пользуемся tail и awk:
tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503

Подключаем лог:
tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk '{ print $1 }'

Получаем IP машин:
iptables -A INPUT -p tcp -j DROP -s $IP

Заносим IP в Firewall:
tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk '{ print $1 }' | xargs -t -l iptables -A INPUT -p tcp -j DROP –s

Теперь установим connlimit для iptables чтобы ограничить подключения ботов. В правилах ставим разрешение на 5 подключений с одного IP, и 25 из подсети класса С.

DDOS атака с 16000 ботов - Load average : 1.4 1.9 2.0

Ограничение доступа по FTP

Для этого нам понадобитсья файл .ftpaccess. Он поможет запретить или разрешить доступ по FTP с указанных IP адресов. Кто-то может задать вопрос: «У меня динамический IP, как мне правильно использовать .ftpaccess?» Ответ я подразумеваю только такой: «Если вам нужна данная надстройка безопасности - приобретите у вашего провайдера статический IP. Много денег у вас за него не попросят.»

Чтобы создать .ftpacces файл нам понадобиться SSH доступ. Можно воспользоваться программой winscp. Настроек в .ftpaccess может быть большое множество, однако нас интересует только один параметр. Прописав эти строки в файле вы закроете полностью доступ от всех:
<Limit ALL>
Deny from all
</Limit>

После написанного выше, никто не сможет зайти на ФТП. Для добавления разрешения доступа определенному IP нужно указать следующие параметры:
<Limit ALL>
Allow from 127.0.0.1
Deny from all
</Limit>

Естественно адрес 127.0.0.1 указан для примера и его нужно заменить на собственный.

Важно! Лучше всего запретить доступ по FTP абсолютно всем и подклчаться только по SSH.

Защита системы управления контентом DataLife Engine.

1. Установите и настройте ZEOS Antivirus.

2. Переименуйте файл админпанели и сделайте фейк по старому адресу (www.sait.com/admin.php) при переходе на который пользователь будет заблокирован посредством запрета его ip в .htaccess.

Переименовали? Теперь создаем в корневом каталоге файл ip.txt для хранения ip-адресов. Даем ему и .htaccess права CHMOD – 777.

Создаем файл admin.php следующего содержания:
<?php

$ip = getenv ("REMOTE_ADDR");
  
$log = fopen("ip.txt", "a+");
fwrite($log, "// ".$ip."\n");
fclose($log);

$f = fopen($_SERVER['DOCUMENT_ROOT'] . '/.htaccess', "a");
fwrite($f, "\ndeny from " . $ip);
fclose($f);

echo <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>
    <meta http-equiv="content-type" content="text/html; charset=1251" />
    <meta name="author" content="admin" />

    <title>Админ панель DataLife Engine</title>
</head>

<body bgcolor="black" text="white">

<center><img src="тут изображение выводимое на странице"></center>
<center><h1>Текст, например: Твой ip в логах, я найду тебя!</h1></center>

</body>
</html>
HTML;

echo "<center><h1>Бойся, ничтожество, ха-ха!</center></h1>"

?>

3. Добавим дополнительную аутентификацию в админцентре.

Необходимо придумать еще один логин и пароль (не используйте данные вашего административного аккаунта). Второй логин и пароль должен в корне отличаться от первого. Определились? Отлично! Теперь зашифруем наш пароль в md5 (сделать это можно на сайте md5encryption.com).
Далее открываем admin.php (вспомните, ранее мы его переименовали и, по этому, если вы назвали его superadmin.php - вам необходимо открывать именно этот его) и после строки:
<?php

добавляем:
$login="вписываем придуманный логин";
$password="и сгенерированный пароль в md5";
if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!==$login ||
md5($_SERVER['PHP_AUTH_PW'])!==$password) {
header('WWW-Authenticate: Basic realm="Admin Panel"');
header('HTTP/1.0 401 Unauthorized');
exit("Access Denied");}

4. Отключим неиспользуемые системой функции php.

Для поиска файла php.ini создаем файл phpinfo.php с текстом:
<? phpinfo() ?>

После поиска обязательно удалить phpinfo.php!

Далее открываем php.ini и выключаем следующие функции:
disable_functions = allow_url_fopen, eval, exec, system, passthru, scandir, popen, shell_exec, proc_open, proc_close, proc_nice, get_current_user, getmyuid, posix_getpwuid, apache_get_modules, virtual, posix_getgrgid, getmyinode, fileowner, filegroup, getmypid, apache_get_version, apache_getenv, apache_note, apache_setenv, disk_free_space, diskfreespace, dl, ini_restore, openlog, syslog, highlight_file, show_source, symlink, disk_total_space, ini_get_all, get_current_user, posix_uname, allow_url_fopen

5. Создаем фильтрацию GET и POST запросов, предотвращаем инъекции в БД и получение из нее данных.

Создаем файл .php с произвольным названием и следующим содержимым:
<?php
//поставить еденицу если хотите включить отладку запросов
$debug = 0;

$bag_req = array("select", "eval", "echo", "UPDATE", "LIMIT", "INSERT", "INTO", "union", "CONCAT", "INFORMATION_SCHEMA", "OUTFILE", "DUMPFILE", "LOAD_FILE", "BENCHMARK", "SUBSTRING", "ASCII", "CHAR", "database", "HEX", "\\.\\/", "%00", "\\.htaccess", "config\\.php", "document\\.cookie");
$request = serialize($_GET);
$urequest = urldecode($request);
$brequest = base64_decode($request);
if($_GET)
{
foreach ($bag_req as $key => $value) {
  if(preg_match("/$value/i", $request) || preg_match("/$value/i", $urequest) || preg_match("/$value/i", $brequest))
  {
   if($debug == "1") $do_debug = "<br>В массиве найден запрос <b>$value</b> , который блокирует правильную работу<br>$request";
   die("BAD REQUEST $do_debug");
   }
}
}
if($_POST)
{
$request = str_replace("selected_language", "sl", serialize($_POST));
$urequest = urldecode($request);
$brequest = base64_decode($request);
foreach ($bag_req as $key => $value) {
  if(preg_match("/$value/i", $request) || preg_match("/$value/i", $urequest) || preg_match("/$value/i", $brequest))
   {
   if($debug == "1") $do_debug = "<br>В массиве найден запрос <b>$value</b> , который блокирует правильную работу<br>$request";
   die("BAD REQUEST $do_debug");
   }
}
}
?>

Сохраняем его на сервере в любом каталоге системы DLE. Открываем файл engine/classes/mysql.php и после:
<?php
if(!defined('DATALIFEENGINE'))
{
  die("Hacking attempt!");
}

подключаем созданный файл:
include_once( ENGINE_DIR."/путь_к_файлу/название.php" );

6. Используя бесплатные компоненты к DLE обязательно узнайте мнение специалиста о их надежности.

При возникновении вопросов обращайтесь к поисковым системам - весь материал в свободном доступе!
Есть что добавить? Милости прошу к обсуждению!

Удачи вам и вашим проектам!

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Спасибо сказали: (1)
12.12.2011, 5:37 Починить DLE
Взломали...
Рекомендую вам снести все и установить на чистую. После чего установить ZEOS Antivirus и проделать действия описанные ниже. А также советую купить лицензию на двиг и своевременно получать заплатки. Ибо не все они в паблике, по себе знаю.

Защита от показов во фрейме:
В index.php ищем:
var dle_root = '{$config['http_home_url']}';

заменяем на:
if(top!=self) top.location.href='/';
var dle_root = '{$config['http_home_url']}';

Все, установка закончена. Теперь при попытке показа во фрейме будет автоматически редиректить на главную страницу, сайт будет "выпрыгивать" из фрейма.

Банально защитите админку данным методом (автор: DotNet):
1. Создайте в корне файл ip.txt и поставьте права 777. Там будут храниться ip попытавшихся обратиться к странице http://site.ru/admin.php.
2. Переименуйте в настройках скрипта свой файл admin.php, например, на vasya.php.
3. Создайте новый файл admin.php с таким содержимым:
<?php
  
$ip = getenv ("REMOTE_ADDR");
  
$log = fopen("ip.txt", "a+");
fwrite($log, "// ".$ip."\n");
fclose($log);

$f = fopen($_SERVER['DOCUMENT_ROOT'] . '/.htaccess', "a");
fwrite($f, "\ndeny from " . $ip);
fclose($f);

echo <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>
    <meta http-equiv="content-type" content="text/html; charset=1251" />
    <meta name="author" content="admin" />

    <title>Админ панель DataLife Engine</title>
</head>

<body bgcolor="black" text="white">

<center><img src="картинка"></center>
<center><h1>Прости, но ты от него не отличаешься...</h1></center>
<!-- Пошел как ты отсюда, нефиг исх. код смотреть :) -->
</body>
</html>
HTML;
echo "<center><h1>Кстати, твой ип($ip) в логах;)</center></h1>"
?>

Теперь при заходе на сайт/admin.php вы увидите ошибку и ip будет занесен в ip.txt и забанен посредством htaccess.



И еще забыл сказать! Отключите в php.ini функцию allow_url_fopen. Чтобы ее выключить, откройте сам php.ini (обычно валяется в корневой директории), найдите функцию allow_url_fopen и напротив поставьте "OFF". То бишь получиться строка: "allow_url_fopen OFF"


Спасибо сказали: (4)
8.12.2011, 0:40 DoS или нет?
Из забугорных есть отличный Адивохост. Сервера в Голландии и США. На голландских можно без опасения размещать то, что у нас прикрывается цензурой. И саппорт там отличный, и манибэк моментальный.


Спасибо сказали: (1)
8.12.2011, 0:23 Оцените и посоветуйте
мозги застыли, нужны ваши советы ;)
(WebNetc @ 7.12.2011, 21:20) *
Мне нравится, хотя при входе, я бы советовал убрать болтики (макет будет смотреться серьезнее).
Рекомендую, пока не наплыло в тему много людей, на макет прикрепить надпись на всю ширину, иначе он может очень быстро превратиться в паблик :-)

Название то МехАдмин, по-этому болтики ничем не выделяются и не кажутся лишними. Также по ним не меряется "серьезность".

По сабжу: хороший дизайн, но чего-то нехватает, какой-то краски.


Спасибо сказали: (1)

2 страниц V   1 2 >
RSS Текстовая версия Сейчас: 26.4.2024, 3:32
Дизайн