Помощник
|
Безопасен ли такой ход (php+DLE)? |
zakaznik
|
Сообщение
#1
|
||
|
|
||
|
|||
dan1 |
6.8.2011, 10:20;
Ответить: dan1
Сообщение
#2
|
|
Если хакер получит доступ к шаблону, то пипец. Да и PHP вставки в шаблонах это не тру. Что мешает выполнить код в index.php и присвоить метку в шаблоне?
|
|
|
zakaznik
|
Сообщение
#3
|
|
как это сделать? если:
<? include 'tizer.php'; trotate(4,tizer1); trotate(2,tizer2); ?> проблема в: trotate(4,tizer1); trotate(2,tizer2); Сообщение отредактировал zakaznik - 6.8.2011, 10:50 |
|
|
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 |
|
|
zakaznik
|
Сообщение
#5
|
|
Спасибо
В 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 |
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
|
Сообщение
#7
|
|
и тогда будет работать как вы написали?
trotate(4,tizer1)); 4- кол-во выводимых тизеров tizer1 - стиль тизеров |
|
|
dan1 |
6.8.2011, 11:45;
Ответить: dan1
Сообщение
#8
|
|
Ну если Вы выполните манипуляции, которые я описал выше + замените код в tizer.php то должно работать. Не забудьте ещё текстовый файл с тизерами (tizerlist.txt) переместить в ту же папку, что и tizer.php, а лучше закиньте эти 2 файла в корневую папку движка и в index.php не надо будет писать путь до файлов.
|
|
|
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 |
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}. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
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 |
Текстовая версия | Сейчас: 24.4.2024, 20:11 |