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



 

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

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

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Безопасен ли такой ход (php+DLE)?
zakaznik
zakaznik
Topic Starter сообщение 6.8.2011, 9:26; Ответить: zakaznik
Сообщение #1


Откройте файл index.php найдите строчку:
echo $tpl->result['main'];


и замените ее на
eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');


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

Сразу отвечу на ваш вопрос: да,
{include file="/file.php"}

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

А теперь сам вопрос: порылся в интернете, кто то пишет, что этот ход опасен, кто то отрицает это... нужно здравое мнение: МОЖЕТ ли этот код каким нибудь образом повлиять на сохранность сайта в смысле взлома?
И еще один вопрос: если вдруг когда нибудь я буду ставить какой нибудь модуль для DLE может ли именно из-за этого не работать часть его функций?

P.S. так то проблему решил с выводом того, что мне нужно, но получилось как то через ж*пу smile.gif

Сообщение отредактировал zakaznik - 6.8.2011, 9:27
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 6.8.2011, 10:20; Ответить: dan1
Сообщение #2


Если хакер получит доступ к шаблону, то пипец. Да и PHP вставки в шаблонах это не тру. Что мешает выполнить код в index.php и присвоить метку в шаблоне?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zakaznik
zakaznik
Topic Starter сообщение 6.8.2011, 10:48; Ответить: zakaznik
Сообщение #3


как это сделать? если:
<? include 'tizer.php'; trotate(4,tizer1); trotate(2,tizer2); ?>


проблема в:
trotate(4,tizer1); trotate(2,tizer2);

Сообщение отредактировал zakaznik - 6.8.2011, 10:50
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 6.8.2011, 11:06; Ответить: dan1
Сообщение #4


Извините, данных недостаточно. Ну вообщем, я предположил, что в файле tizer.php лежит функция, которая выводит определённый код. Если так, то:
Открываете index.php. Ищите, строчку: $tpl->set ( '{speedbar}', $tpl->result['speedbar'] );
Пишете ниже:
include "#ПУТЬ#tizer.php";
$tpl->set ('{tizer1}', trotate(4,tizer1));
$tpl->set ('{tizer2}', trotate(2,tizer2));

Теперь в шаблоне можно использовать 2 новые метки: {tizer1}, {tizer2}.
PS. Если функция расположенная в файле tizer.php выводит текст, то переделайте её под функцию, которая возвращает значение с текстом. Если не разберетесь, пишите в лс или прямо сюда текст функции.

Сообщение отредактировал dan1 - 6.8.2011, 11:07


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zakaznik
zakaznik
Topic Starter сообщение 6.8.2011, 11:36; Ответить: zakaznik
Сообщение #5


Спасибо smile.gif

В tizer.php вот этот код:

<?

function trotate($c,$div)
{
$list=file('tizerlist.txt');
shuffle($list);
for ($i=0; $i<$c; $i++)
{
$exp=explode('|',$list[$i]);
echo '<div id="'.$div.'"><a href="'.$exp[1].'"><img src="'.$exp[0].'"><br>'.trim($exp[2]).'</a></div>'."\n";
}
}

?>


Это скрипт для самостоятельного вывода своих тизерных блоков

Сообщение отредактировал zakaznik - 6.8.2011, 11:37
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 6.8.2011, 11:39; Ответить: dan1
Сообщение #6


<?
function trotate($c,$div)
{
$list=file('tizerlist.txt');
shuffle($list);
$str="";
    for ($i=0; $i<$c; $i++)
    {
    $exp=explode('|',$list[$i]);
    $str .= '<div id="'.$div.'"><a href="'.$exp[1].'"><img src="'.$exp[0].'"><br>'.trim($exp[2]).'</a></div>'."\n";
    }
return $str;
}
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zakaznik
zakaznik
Topic Starter сообщение 6.8.2011, 11:44; Ответить: zakaznik
Сообщение #7


и тогда будет работать как вы написали?

trotate(4,tizer1));
4- кол-во выводимых тизеров
tizer1 - стиль тизеров
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 6.8.2011, 11:45; Ответить: dan1
Сообщение #8


Ну если Вы выполните манипуляции, которые я описал выше + замените код в tizer.php то должно работать. Не забудьте ещё текстовый файл с тизерами (tizerlist.txt) переместить в ту же папку, что и tizer.php, а лучше закиньте эти 2 файла в корневую папку движка и в index.php не надо будет писать путь до файлов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zakaznik
zakaznik
Topic Starter сообщение 6.8.2011, 18:26; Ответить: zakaznik
Сообщение #9


не получилось(
ошибку выдает... в index.php (сайт вообще не грузится, только эта надпись)

Warning: include(/tizer.php): failed to open stream: No such file or directory in /home/user/data/www/domen.com/index.php on line 56 Warning: include(/tizer.php): failed to open stream: No such file or directory in /home/user/data/www/domen.com/index.php on line 56 Warning: include(): Failed opening '/tizer.php' for inclusion (include_path='.:/usr/local/share/pear') in /home/use/data/www/domen.com/index.php on line 56 Fatal error: Call to undefined function trotate() in /home/user/data/www/domen.com/index.php on line 57


Сообщение отредактировал zakaznik - 6.8.2011, 18:30
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 7.8.2011, 13:55; Ответить: dan1
Сообщение #10


Вы бы текст ошибки в переводчик вбили. Файл tizer.php не удалось открыть, следовательно, функция, располагающаяся в нём не может быть вызвана.
Вообщем, объединю всё, что сказал выше, чтобы Вы не запутались.
1. Открываете файл tizer.php, полностью очищаете и вставляете следующее:
function trotate($c,$div)
{
$list=file('tizerlist.txt');
shuffle($list);
$str="";
    for ($i=0; $i<$c; $i++)
    {
    $exp=explode('|',$list[$i]);
    $str .= '<div id="'.$div.'"><a href="'.$exp[1].'"><img src="'.$exp[0].'"><br>'.trim($exp[2]).'</a></div>'."\n";
    }
return $str;
}

и сохраняете.
2. Заливаете файлы tizer.php и tizerlist.txt в корневую папку движка.
3. Открываете в папке движка index.php. Ищите, строчку: $tpl->set ( '{speedbar}', $tpl->result['speedbar'] );
Пишете ниже:
include "tizer.php";
$tpl->set ('{tizer1}', trotate(4,tizer1));
$tpl->set ('{tizer2}', trotate(2,tizer2));

и сохраняете.
4. Далее, вставляете в нужное место в шаблоне метки {tizer1}, {tizer2}.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) DLE xProtect
2 xoopw 5986 15.1.2024, 21:06
автор: Diana_Wesley
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3421 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1243 24.11.2023, 14:46
автор: alexey
Открытая тема (нет новых ответов) Обновить сайт на CMS DLE
1 Sawich 1667 2.9.2023, 10:10
автор: WoWeb
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44934 19.7.2023, 10:03
автор: qpPeW


 



RSS Текстовая версия Сейчас: 24.4.2024, 20:11
Дизайн