Jump to content
Sign in to follow this  
visi

Php код в описании категории

Recommended Posts

Здравствуйте!

Подскажите как реализовать возможность выполнения пхп-кода в описании категории, чтобы можно было в текстовом редакторе написать что-то типа {php}echo 1;{/php} 

Спасибо за любую наводку в этом вопросе. 

Share this post


Link to post
Share on other sites

Хотелось бы понять тайный смысл сей необходимости

Share this post


Link to post
Share on other sites

На определенной категории получить из базы курс валют {php}echo select kurs from db;{/php} и чтобы это было в описании

Share this post


Link to post
Share on other sites

На определенной категории получить из базы курс валют {php}echo select kurs from db;{/php} и чтобы это было в описании

Я бы сказал, что это не есть хорошо.

А что Вы собственно хотите организовать то, непонятно...Для каких целей ,если не секрет, делать "На определенной категории получить из базы курс валют" ?

Share this post


Link to post
Share on other sites

Делайте Ваши запросы согласно архитектуре и отправляете переменную в шаблон, в описании помещаете пустой див с определенным id, выводимую переменную с помощью jQuery помещаете в этот див, профит. Если переменную надо выводить в определенной категории в контроллере используем условие на id этой чудесной категории. Это если надо выполнить задачу, а не мечтать о php в редакторе.

Share this post


Link to post
Share on other sites
<!-- *********************************************************************************** -->
<!-- *** Part of OpenShop project: http://OpenShop.org.ua (c) MaxD                   *** -->
<!-- *********************************************************************************** -->
<!-- Redistribution in any form without written permission is prohibited.                -->

<modification>
	<id><![CDATA[Executes PHP code included into info pages, text blocks, products and categories descriptions]]></id>
	<version><![CDATA[1.7]]></version>
	<vqmver><![CDATA[]]></vqmver>
	<author><![CDATA[MaxD http://OpenShop.org.ua]]></author>

    <file name="catalog/view/theme/*/template/information/information.tpl">
		<operation>
			<search position="replace"><![CDATA[ echo $description ]]></search>
			<add><![CDATA[ eval('?>'.$description.'<?php ') ]]></add>
		</operation>
	</file>

    <file name="catalog/view/theme/*/template/product/product.tpl">
        <operation>
            <search position="replace"><![CDATA[ echo $description ]]></search>
            <add><![CDATA[ eval('?>'.$description.'<?php ') ]]></add>
        </operation>
    </file>

    <file name="catalog/view/theme/*/template/product/category.tpl">
        <operation>
            <search position="replace"><![CDATA[ echo $description ]]></search>
            <add><![CDATA[ eval('?>'.$description.'<?php ') ]]></add>
        </operation>
    </file>

    <file name="catalog/view/theme/*/template/module/welcome.tpl">
        <operation>
            <search position="replace"><![CDATA[ echo $message ]]></search>
            <add><![CDATA[ eval('?>'.$message.'<?php ') ]]></add>
        </operation>
    </file>
	
</modification>

Или же тут выкачать...

Share this post


Link to post
Share on other sites

Baco, спасибо, помогло. Правда пришлось еще немного редактор подпилить, чтобы он нормально дружил с php-кодом (добавив плагин Show Protected для CKK Editor или подобный). Всем спасибо!

Share this post


Link to post
Share on other sites

запасаемся попкорном и ждем нытья о взломах.

Share this post


Link to post
Share on other sites

запасаемся попкорном и ждем нытья о взломах.

а насколько данный метод не безопасен?

Share this post


Link to post
Share on other sites

запасаемся попкорном и ждем нытья о взломах.

 

Да, скорее всего надо попкорн покупать. Как то стремно eval использовать.

Share this post


Link to post
Share on other sites

Ну... решение не моё, я так, ответ по сути ТС написал, хоть и объяснили, что не здорово такое делать, а уж ему (ТС) - самому уже выбирать между нуждой и безопасностью...

Share this post


Link to post
Share on other sites

к слову,

в php произвольный код можно выполнить не только c помощью eval

assert()
preg_replace('/.*/e',...)
create_function()
include()
include_once()
require()
require_once()
"function"("args");

на хабре был описан интересный случай взлома через логи

злоумышленник нашел уязвимость LFI (Local File Inclusion), с помощью которой можно было includ'ить локальный файл на сервере.

затем в одном из запросов подменил user-agent своим кодом <?php ...?>, который попал в лог-файл и с помощью уязвимости этот файл выполнил )

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.