• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

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

Статус
В этой теме нельзя размещать новые ответы.
B

BaltazoR

Прохожие
По умолчанию скрипт игнорирует пхп код в новостях, мож кто подскажет где нужно подправить, что бы это стало возможным ?
 
Откройте файл index.php найдите строчку:
PHP:
echo $tpl->result['main'];

и замените ее на
PHP:
eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');
 
Сократ, а это помоему в шаблоне, а не в новостях.
В новостях помоему php запрещён вообще
 
SOCRAT написал(а):
Откройте файл index.php найдите строчку:
PHP:
echo $tpl->result['main'];
и замените ее на
PHP:
eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');
Jerry прав, этот фокус работает только в шаблоне - а мне нужно в новости :(
 
а, я не внимательно прочитал, тогда х3, наврятли можно, ибо выключенно из-за безопастности..

по крайне мере мне так думается..
 
BaltazoR, спроси на официальном форуме ДЛЕ. Я думаю там тебе смогут помочь.
 
BaltazoR написал(а):
По умолчанию скрипт игнорирует пхп код в новостях, мож кто подскажет где нужно подправить, что бы это стало возможным ?

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

Вложения

  • index.rar
    2 KB · Просмотры: 7
BaltazoR написал(а):
По умолчанию скрипт игнорирует пхп код в новостях, мож кто подскажет где нужно подправить, что бы это стало возможным ?
в 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]
 
Alx^ написал(а):
в 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]
Это конечный результат по файлу index.php для вставки инклуда php для 5.1 точьно пойдет на офф. я не могу зайти. Но всеравно спасибо.
 
pilot233 написал(а):
Это конечный результат по файлу index.php для вставки инклуда php для 5.1 точьно пойдет на офф. я не могу зайти. Но всеравно спасибо.
Для того чтобы сказать спасибо есть спец кнопка , ну я для етого и скопировал этот код ...
Меня на офф.форуме самого банили раз 5 =)
Код работает проверил на локалке :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху