Другой вопрос: как надо фильтровать параметры GET запроса для того чтобы не нарушить безопасность движка. Видел в functions.php функцию, которая не пропускает url если в нем есть кавычки и другие не безопасные символы. Этого достаточно или надо дополнительно их сканировать, чтобы предотвратить sql injection? Если да, то, как это сделать?
Кэш создается, но не читается, какая может быть причина? В $sql-request есть текущее время это может быть причиной?!
UPD Да проблема была в дате из sql запроса, которая давала другую сумму md5. Спасибо всем, кто помог.
sashka_, сделал так, как вы написали, а как проверить, что данные читаются из кэша а не из бд? Это возможно как-то отследить? Количество запросов не уменьшается, если запустить модуль дважды подряд с одинаковыми параметрами. Если я правильно понял, то он создает, но не читает кэш. Как быть?
Как реализовать кэширование в модуле, если в модуле такие строки:
$sql_result = $db->query( $sql_request ); $found_result = $db->num_rows( $sql_result ); $result_count = $db->super_query( "SELECT COUNT(*) as count $sql_from $where" ); $count_result = $result_count['count']; $tpl->load_template( '/personaj.tpl' ); $build_navigation = false; include (ENGINE_DIR . '/modules/show.custom.php'); $tpl->result['content'] = str_ireplace( '[personaj]', '', $tpl->result['content'] ); $tpl->result['content'] = str_ireplace( '[/personaj]', '', $tpl->result['content'] ); if( $config['files_allow'] ) if( strpos( $tpl->result['content'], "[attachment=" ) !== false ) { $tpl->result['content'] = show_attach( $tpl->result['content'], $attachments ); }
Я так понял выборка из бд передается в show.custom.php, чтобы был наложен шаблон на все строки выборки. А как сделать так, чтобы модуль создавал кэш в данном случае?
Спасибо.
Есть 2 критерия для классификации новостей: Кр1 и Кр2 например. По первому будут группы с параметрами a, b, c, d, по второму будут группы параметрами 1, 2, 3, 4, 5. Как можно организовать категории сайта чтобы можно было просмотреть все новости из группы b но которые имеют и параметр 3 например (ну что-то типа название_сайта.ru/news/Кр1=b&Kр2=3). Спасибо.
PS Использовать тег {custom} не пойдет, так как он не выводит навигацию.
Сайт про игры. У игр есть свойства: жанр(симуляторы, стратегии, шутеры и др.) и платформа (Xbox, ПК, PS3 и др.). Как можно будет быстро попасть , например к симуляторам для ПК? Можно ли средствами ДЛЕ сделать такое: сайт.ру/жанр=1&платформа=2?