Показать сообщение отдельно

  #4  
Старый 17.02.2017, 13:59
winstrool
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме:
371875

Репутация: 137
По умолчанию

Цитата:
Сообщение от foozzione  

prestashop (версия хз, как проверить тоже хз)
обнаружил такое:
http://site.ru/modules/blocklayered...ered_id_feature_20=20_8&id_category _layered=2
в ответ белая страница с:
Код:
Table 'stiliagi_new.ps_layered_category' doesn't exist

SELECT * FROM ps_layered_category WHERE id_category = 2 ORDER BY position ASC
Понятно что таким образом можно узнать имя бд, но интересует вопрос, можно ли это считать как скулю?
Что бы разобраться в вопросе, не плохо было бы посмотреть исходный код который отвечает за данную обработку, в данном случае, если погуглить, как пример:

inurl:modules/blocklayered/blocklayered-ajax.php

Мы можем увидеть исходники на гитхабе:

https://github.com/PrestaShop/Presta...yered-ajax.php

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]include([/COLOR][COLOR="#0000BB"]dirname[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]__FILE__[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'/../../config/config.inc.php'[/COLOR][COLOR="#007700"]);
include([/
COLOR][COLOR="#0000BB"]dirname[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]__FILE__[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'/../../init.php'[/COLOR][COLOR="#007700"]);
include([/
COLOR][COLOR="#0000BB"]dirname[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]__FILE__[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'/blocklayered.php'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]Context[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]getContext[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]controller[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]php_self[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'category'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$blockLayered[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]BlockLayered[/COLOR][COLOR="#007700"]();
echo[/
COLOR][COLOR="#0000BB"]$blockLayered[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]ajaxCall[/COLOR][COLOR="#007700"]();[/[/COLOR][COLOR="#0000BB"]B[/COLOR][COLOR="#007700"]]
[/
COLOR][/COLOR
где по классу мы видим обработку класса в файле blocklayered.php

https://github.com/PrestaShop/Prest...748da7c/modules/blocklayered/blocklayered.php


участок кода:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]public function[/COLOR][COLOR="#0000BB"]hookProductListAssign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$params[/COLOR][COLOR="#007700"])
{
global[/COLOR][COLOR="#0000BB"]$smarty[/COLOR][COLOR="#007700"];
if (![/COLOR][COLOR="#0000BB"]Configuration[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]getGlobalValue[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PS_LAYERED_INDEXED'[/COLOR][COLOR="#007700"]))
return;
[/
COLOR][COLOR="#0000BB"]$categories_count[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Db[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]getInstance[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]getValue[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
SELECT COUNT(*)
FROM '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]_DB_PREFIX_[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'layered_category
WHERE id_category = '
[/COLOR][COLOR="#007700"].(int)[/COLOR][COLOR="#0000BB"]Tools[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]getValue[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'id_category'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]Tools[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]getValue[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'id_category_layered'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]Configuration[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PS_HOME_CATEGORY'[/COLOR][COLOR="#007700"]))).[/COLOR][COLOR="#DD0000"]'
AND id_shop = '
[/COLOR][COLOR="#007700"].(int)[/COLOR][COLOR="#0000BB"]Context[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]getContext[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]shop[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id
[/COLOR][COLOR="#007700"]);

.....

[/
COLOR][COLOR="#0000BB"]$id_shop[/COLOR][COLOR="#007700"]= (int)[/COLOR][COLOR="#0000BB"]Context[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]getContext[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]shop[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"];

.....

[/
COLOR][COLOR="#FF8000"]/* Get the filters for the current category */
[/COLOR][COLOR="#0000BB"]$filters[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Db[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]getInstance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]_PS_USE_SQL_SLAVE_[/COLOR][COLOR="#007700"])->[/COLOR][COLOR="#0000BB"]executeS[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
SELECT * FROM '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]_DB_PREFIX_[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'layered_category
WHERE id_category = '
[/COLOR][COLOR="#007700"].(int)[/COLOR][COLOR="#0000BB"]$id_parent[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
AND id_shop = '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$id_shop[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
GROUP BY `type`, id_value ORDER BY position ASC'
[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR
отсюда мы видим, что данные достаточно фильтруются и принимают только INT параметр, следовательно тут скули нет!
 
Ответить с цитированием