Помощь пхп вставки в новстях dle

Тема в разделе "DLE", создана пользователем BaltazoR, 28 окт 2006.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. BaltazoR

    BaltazoR Прохожие

    По умолчанию скрипт игнорирует пхп код в новостях, мож кто подскажет где нужно подправить, что бы это стало возможным ?
     
  2. SOCRAT

    SOCRAT

    Регистр.:
    6 июн 2006
    Сообщения:
    275
    Симпатии:
    54
    Откройте файл index.php найдите строчку:
    PHP:
    echo $tpl->result['main'];
    и замените ее на
    PHP:
    eval (' ?' '>' $tpl->result['main'] . '<' '?php ');
     
  3. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    489
    Сократ, а это помоему в шаблоне, а не в новостях.
    В новостях помоему php запрещён вообще
     
  4. BaltazoR

    BaltazoR Прохожие

    Jerry прав, этот фокус работает только в шаблоне - а мне нужно в новости :(
     
  5. SOCRAT

    SOCRAT

    Регистр.:
    6 июн 2006
    Сообщения:
    275
    Симпатии:
    54
    а, я не внимательно прочитал, тогда х3, наврятли можно, ибо выключенно из-за безопастности..

    по крайне мере мне так думается..
     
  6. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    489
    BaltazoR, спроси на официальном форуме ДЛЕ. Я думаю там тебе смогут помочь.
     
  7. pilot233

    pilot233

    Регистр.:
    24 июн 2006
    Сообщения:
    405
    Симпатии:
    88
    ------------------------------------------------------------------------------------
    Вот готовый Посмотреть вложение 623 он рабочий просто проверь его на соответсвие версии т.е. как иден подстановка переменных типа "ROOT_DIR" и.т.п потому как у разных версий они разные. ПОЖАЛУЙСТА и конечьно можно сказать спасибо.
     

    Вложения:

    • index.rar
      Размер файла:
      2 КБ
      Просмотров:
      7
  8. Alx^

    Alx^ Постоялец

    Регистр.:
    11 ноя 2006
    Сообщения:
    77
    Симпатии:
    49
    в 5 дле , чуть чуть изменён этот способ , см. на офф форуме если ещё раз найду то скину

    Добавлено через 1 минуту
    Короче вот статья, делайте только всё точно как написано!
    Код:
    Думаю такое решение будет одно из наиболее верных: 
    в index.php заменить
    [B]echo $tpl->result['main'];[/B] на [B]eval (' ?>'.$tpl->result['main'].'<?php ');[/B] 
    [I]Пояснение: Благодаря этому будут выполняться php скрипты[/I]
    
    и перед этим добавить :
    [B]$tpl->set('<?', '<?');
    $tpl->set('?>', '?>');
    if($md5_code!=0){ $tpl->set('[PHPCODE]'.$md5_code, '<?php ');
    $tpl->set($md5_code.'[/PHPCODE]', ' ?>'); }[/B]
    [I]Пояснение: Первая и вторая строчка позволяет удалить попавшие случайным/специальным образом теги php
    Третья и четвёртая - меняет BBCode скриптинга только если были загружены статические страници[/I]
    во второй строчке index.php добавляем [B]$md5_code=0;[/B]
    [I]Пояснение: Теперь невозможно передать это значение извне[/I]
    для защиты остальных страниц в engine\modules\static.php
    добавляем после строки $tpl->load_template('static.tpl'); это 41 строка, следующее:
    [B]$md5_code=md5(rand(1000, mktime()));
    $tpl->set('[PHPCODE]', '[PHPCODE]'.$md5_code); 
    $tpl->set('[/PHPCODE]', $md5_code.'[/PHPCODE]');[/B]
    [I]Пояснение: Благодаря вставке неизвестной юзеру переменной невозможно будет посредством добавления в коменты(к примеру) запуск php[/I]
    
    Теперь там где нужна вставка кода просто делать так(пример инклуда):
    вместо <? include("file.php"); ?> [PHPCODE]include("file.php");[/PHPCODE]
     
    Rizhiy нравится это.
  9. pilot233

    pilot233

    Регистр.:
    24 июн 2006
    Сообщения:
    405
    Симпатии:
    88
    Это конечный результат по файлу index.php для вставки инклуда php для 5.1 точьно пойдет на офф. я не могу зайти. Но всеравно спасибо.
     
  10. Alx^

    Alx^ Постоялец

    Регистр.:
    11 ноя 2006
    Сообщения:
    77
    Симпатии:
    49
    Для того чтобы сказать спасибо есть спец кнопка , ну я для етого и скопировал этот код ...
    Меня на офф.форуме самого банили раз 5 =)
    Код работает проверил на локалке :)
     
Статус темы:
Закрыта.