SMF SSI.php Functions
Current Version: 2.1.8
This file is used to demonstrate the capabilities of SSI.php using PHP include functions. The examples show the include tag, then the results of it.
Include Code
To use SSI.php in your page add at the very top of your page before the <html> tag on line 1 of your php file:
<?php require("SSI.php"); ?>
Some notes on usage
All the functions have an output method parameter. This can either be "echo" (the default) or "array"
If it is "echo", the function will act normally - otherwise, it will return an array containing information about the requested task. For example, it might return a list of topics for ssi_recentTopics.
This functionality can be used to allow you to present the information in any way you wish.
Additional Guides & FAQ
Need more information on using SSI.php? Check out Using SSI.php article.
Recent Topics Function
Code (simple mode)
<?php ssi_recentTopics(); ?>
Code (advanced mode)
<?php ssi_recentTopics($num_recent = 8, $exclude_boards = null, $include_boards = null, $output_method = 'echo'); ?>
Result
| [Реклама от хостинговых компаний] | Аренда подсети IPv4 /24 и /23 — GRE, LoA, WHOIS/PTR | HSTQ от HSTQ | 01 ноября 2026, 09:56:34 |
| [Новости и анонсы] | Критическая уязвимость PHP от Набоков | 25 октября 2026, 18:30:15 |
| [Реклама от хостинговых компаний] | Q-DC — выделенные серверы от €85, VPS от €4,99 и NVMe-хостинг от qdc-servers | 23 октября 2026, 17:41:23 |
| [Реклама от хостинговых компаний] | LITE.HOST - хостинг для тех, кто любит не переплачивать от Ксения Климова | 23 октября 2026, 11:32:39 |
| [Новости и анонсы] | Выпущен SMF 2.1.8 от Vadim2268 | 22 октября 2026, 10:55:34 |
| [Обсуждение модификаций] | Массовое удаление или перемещение сообщений? от Dimm | 18 октября 2026, 18:55:23 |
| [Миграция с других систем] | htaccess редирект после миграции с Punbb 1.4 на SMF 2.1 от APominov | 11 октября 2026, 15:13:00 |
| [Общие вопросы по SMF 2.1] | Как показать ошибку, если ссылка в теге [img] ведёт уже на не существующий файл? от APominov | 11 октября 2026, 14:57:44 |
Recent Posts Function
Code
<?php ssi_recentPosts(); ?>
Result
| [Реклама от хостинговых компаний] | От: Аренда подсети IPv4 /24 и /23 — GRE, LoA, WHOIS/PTR | HSTQ от HSTQ | 01 ноября 2026, 09:56:34 |
| [Реклама от хостинговых компаний] | От: Аренда подсети IPv4 /24 и /23 — GRE, LoA, WHOIS/PTR | HSTQ от HSTQ | 26 октября 2026, 10:56:57 |
| [Новости и анонсы] | От: Критическая уязвимость PHP от Набоков | 25 октября 2026, 18:30:15 |
| [Реклама от хостинговых компаний] | Q-DC — выделенные серверы от €85, VPS от €4,99 и NVMe-хостинг от qdc-servers | 23 октября 2026, 17:41:23 |
| [Реклама от хостинговых компаний] | От: LITE.HOST - хостинг для тех, кто любит не переплачивать от Ксения Климова | 23 октября 2026, 11:32:39 |
| [Новости и анонсы] | От: Выпущен SMF 2.1.8 от Vadim2268 | 22 октября 2026, 10:55:34 |
| [Новости и анонсы] | От: Выпущен SMF 2.1.8 от TXT | 22 октября 2026, 10:44:38 |
| [Новости и анонсы] | Критическая уязвимость PHP от digger® | 21 октября 2026, 18:08:03 |
Top Boards Function
Shows top boards by the number of posts.
Code
<?php ssi_topBoards(); ?>
Result
| Доступность | Темы | Сообщения |
|---|---|---|
| Общие вопросы по модификациям Новое | 2,092 | 22,590 |
| Общие вопросы по SMF 2.0 Новое | 2,405 | 17,745 |
| Общие вопросы, не зависящие от версии SMF Новое | 947 | 16,951 |
| Общение на околофорумные темы Новое | 669 | 8,775 |
| Обсуждение модификаций Новое | 160 | 8,699 |
| SEO оптимизация Новое | 567 | 8,430 |
| Моды от Simplemachines.ru Новое | 74 | 7,958 |
| Общие вопросы по SMF 1.1 (2005-2009) Новое | 950 | 5,528 |
| Темы оформления SMF 1.1 Новое | 639 | 5,107 |
| Ошибки SMF 2.0 Новое | 668 | 5,050 |
Top Topics
Shows top topics by the number of replies or views.
Code (show by number of views)
<?php ssi_topTopicsViews(); ?>
Result
| Просмотров | Сообщений | |
|---|---|---|
| КАК сделать? ГДЕ найти? | 1,048,222 | 8,828 |
| Тема для поиска Модификаций | 647,352 | 3,459 |
| Установка счетчика на страницу | 363,794 | 716 |
| Первая версия robots.txt , для более полной индексации. | 333,521 | 1,423 |
| [Ad Management mod] - мод Управления баннерами на форуме | 250,946 | 967 |
| [Aeva Media] - Медиа-галерея для форума | 231,115 | 1,200 |
| [Karma Description Mod] Мод кармы, репутации | 228,913 | 1,055 |
| Моды SMF | 224,926 | 418 |
| [dQuoteSelection Mod] - выделенного текста и уведомление о цитировании | 224,782 | 977 |
| Coppermine Photo Gallery | 215,582 | 260 |
Code (show by number of replies)
<?php ssi_topTopicsReplies(); ?>
Result
| Просмотров | Сообщений | |
|---|---|---|
| КАК сделать? ГДЕ найти? | 1,048,222 | 8,828 |
| Тема для поиска Модификаций | 647,352 | 3,459 |
| Первая версия robots.txt , для более полной индексации. | 333,521 | 1,423 |
| [Aeva Media] - Медиа-галерея для форума | 231,115 | 1,200 |
| [Karma Description Mod] Мод кармы, репутации | 228,913 | 1,055 |
| [dQuoteSelection Mod] - выделенного текста и уведомление о цитировании | 224,782 | 977 |
| [Ad Management mod] - мод Управления баннерами на форуме | 250,946 | 967 |
| Перспективы и альтернативы SMF | 57,514 | 752 |
| Установка счетчика на страницу | 363,794 | 716 |
| Порталы под SMF | 183,891 | 551 |
Top Poster Function
Shows the top poster's name and profile link.Code
<?php ssi_topPoster(); ?>
Result
Latest Member Function
Shows the latest member's name and profile link.
Code
<?php ssi_latestMember(); ?>
Result
Member of the Day
Shows one random member of the day. This changes once a day.
Code
<?php ssi_randomMember('day'); ?>
Result
Who's Online Function
This function shows who are online inside the forum.
Code
<?php ssi_whosOnline(); ?>
Result
Log Online Presence
This function logs the SSI page's visitor, then shows the Who's Online list. In other words, this function shows who are online inside and outside the forum.
Code
<?php ssi_logOnline(); ?>
Result
Login Function
Shows a login box only when user is not logged in.
Code
<?php ssi_login(); ?>
Result
Logout Function
Shows a logout link only when user is logged in.
Code
<?php ssi_logout(); ?>
Result
Welcome Function
Greets users or guests, also shows user's messages if logged in.
Code
<?php ssi_welcome(); ?>
Result
Today's Calendar Function
Code
<?php ssi_todaysCalendar(); ?>
Result
Today's Birthdays Function
Code
<?php ssi_todaysBirthdays(); ?>
Result
Today's Holidays Function
Code
<?php ssi_todaysHolidays(); ?>
Result
Today's Events Function
Code
<?php ssi_todaysEvents(); ?>
Result
Forum Stats
Shows some basic forum stats: total members, posts, topics, boards, etc.
Code
<?php ssi_boardStats(); ?>
Result
Board News Function
Shows the latest posts from read only boards, or a specific board.
Code
<?php ssi_boardNews(); ?>
Result
Критическая уязвимость PHP
PHP2Shell: обнаружены две критические уязвимости PHP — необходимо срочное обновление!
21 октября 2026 года команда разработчиков PHP выпустила экстренные обновления безопасности, устраняющие две критические уязвимости, получившие неофициальное название PHP2Shell.
Уязвимости CVE-2026-109618 и CVE-2026-109619 получили оценку 9,2 из 10 по шкале CVSS 4.0 и позволяют злоумышленникам удалённо выполнять произвольный код на сервере без предварительной авторизации (Remote Code Execution, RCE).
Проблема затрагивает непосредственно интерпретатор PHP, поэтому потенциально опасна для любых сайтов и веб-приложений, работающих на уязвимых версиях, включая форумы Simple Machines Forum (SMF).
В чём заключается опасность?
Обнаруженные уязвимости связаны с ошибками управления памятью и внутренним состоянием PHP при обработке HTTP-запросов.
- CVE-2026-109618 — некорректная обработка ситуаций нехватки памяти (Out of Memory, OOM). При определённых условиях внутренние структуры запроса могут оказаться частично инициализированными, что создаёт возможность выполнения произвольного кода.
- CVE-2026-109619 — неправильное управление внутренним состоянием между запросами. PHP может повторно использовать данные, память под которые уже была освобождена (Use-After-Free), что также создаёт возможность удалённого выполнения кода.
Особую опасность представляет возможность эксплуатации без учётной записи пользователя. По информации разработчиков PHP, для конфигураций Apache с mod_php подтверждён сценарий атаки, срабатывающий ещё до начала выполнения кода веб-приложения.
Успешная эксплуатация может позволить злоумышленнику выполнять команды с правами процесса PHP, получать доступ к файлам сайта, конфигурации и учётным данным подключения к базе данных, изменять содержимое сайта или внедрять вредоносный код.
Какие версии PHP подвержены уязвимостям?
Проблема затрагивает широкий диапазон версий PHP, начиная с PHP 5.4. Исправления выпущены для всех поддерживаемых веток.
Безопасные версии:
- PHP 8.5 — 8.5.12 и новее
- PHP 8.4 — 8.4.27 и новее
- PHP 8.3 — 8.3.36 и новее
- PHP 8.2 — 8.2.35 и новее
Важно! Ветки PHP 8.1 и более ранние уже сняты с официальной поддержки и не получают стандартных обновлений безопасности от разработчиков PHP.
При этом разработчики дистрибутивов Linux и поставщики расширенной поддержки (LTS) могут выпускать исправления с обратным переносом патчей (backport). В таких случаях номер версии PHP может остаться прежним, поэтому необходимо проверять наличие исправления непосредственно у поставщика пакетов.
Что необходимо сделать администраторам форумов SMF?
В первую очередь рекомендуем проверить используемую форумом версию PHP и убедиться в наличии необходимых исправлений.
- Проверьте версию PHP. Уточните версию, которую использует именно веб-сервер с форумом. Версия PHP в командной строке может отличаться от используемой сайтом.
- Установите обновления безопасности. Используйте исправленные версии PHP или пакеты с подтверждёнными исправлениями от поставщика операционной системы.
- Проверьте работу форума после обновления. Особое внимание уделите авторизации, вложениям, загрузке аватаров, отправке сообщений и установленным модификациям SMF.
- Если используется виртуальный хостинг, обратитесь к провайдеру и уточните, установлены ли исправления для CVE-2026-109618 и CVE-2026-109619.
- Убедитесь, что обновлённые обработчики PHP запущены. После установки обновлений может потребоваться перезапуск PHP-FPM или Apache с mod_php, чтобы новые версии библиотек начали использоваться работающими процессами.
Можно ли временно защититься без обновления?
Разработчики PHP подчёркивают, что полноценной альтернативы установке исправлений не существует.
До обновления отдельные меры могут снизить риск эксплуатации, но не гарантируют безопасность.
В частности, рекомендуется рассмотреть отключение механизма отслеживания прогресса загрузки файлов:
session.upload_progress.enabled = 0Эта настройка снижает риск для одного из подтверждённых сценариев эксплуатации, но не устраняет обе уязвимости полностью.
Дополнительные ограничения на обработку multipart-запросов также могут уменьшить поверхность атаки. Однако их применение способно нарушить загрузку вложений, аватаров и других файлов на форуме.
Поэтому любые временные ограничения следует применять с учётом конфигурации сервера и функциональности сайта.
Относится ли проблема непосредственно к SMF?
Нет. Уязвимости PHP2Shell обнаружены в самом PHP, а не в исходном коде Simple Machines Forum.
Однако поскольку SMF использует PHP для обработки запросов, форум может оказаться под угрозой независимо от версии установленного движка.
Обновление SMF или установленных модификаций не заменяет обновление PHP. Даже актуальная версия форума не устраняет уязвимости в серверном окружении.
Настоятельно рекомендуем всем администраторам форумов SMF не откладывать проверку и обновление PHP, особенно если форум доступен из интернета.
Дополнительная информация
- 2 пользователям это нравится.
Выпущен SMF 2.1.8
Основные изменения в SMF 2.1.8
- Улучшена поддержка обратных прокси-серверов (Reverse Proxy).
- Исправлен ряд проблем, связанных с работой поисковых роботов на базе ИИ.
- Улучшена обработка часовых поясов.
- Устранены многочисленные уязвимости безопасности.
- Повышена производительность системы обновления на крупных форумах.
- Прочие исправления ошибок.
Дополнительную информацию можно найти в списке изменений на GitHub.
Как обновиться до версии 2.1.8
Если вы используете версию 2.1.7, вы можете обновиться через Менеджер пакетов (Центр администрирования > Менеджер пакетов). Там должно появиться уведомление об обновлении до версии 2.1.8 со ссылкой «обновить форум». Если уведомление не появилось, выполните задачу «Получить файлы Simple Machines» на странице Запланированные задачи (Центр администрирования > Обслуживание > Запланированные задачи), затем попробуйте снова.
Если вы используете любую версию от 2.1.0 до 2.1.7, можете использовать описанный выше процесс, последовательно устанавливая предыдущие обновления, пока не достигнете версии 2.1.8.
Если вы используете любую более старую версию SMF (включая SMF 1.x, SMF 2.0.x или одну из бета-версий/релиз-кандидатов SMF 2.1), вы можете обновиться напрямую до 2.1.8 с помощью полного пакета обновления со страницы загрузки. Обратите внимание, что при этом способе потребуется переустановить все модификации. Поэтому, если вы уже используете SMF 2.1.0 или выше, рекомендуется применять обновления последовательно, а не использовать полное обновление.
Если у вас возникают проблемы со скачиванием обновления через панель администратора, вы можете загрузить его со страницы пакетов обновлений и установить через Менеджер пакетов, как обычный мод.
Дополнительную информацию смотрите в Онлайн-руководстве: патчи и обновления.
Оригинал: Анонс SMF 2.1.8 на официальном форуме
- 4 пользователям это нравится.
Окончание поддержки SMF 2.0
Simple Machines объявляет о завершении жизненного цикла ветки SMF 2.0. Разработка этой ветки полностью прекращена, а версия 2.0.19 стала её последним выпуском.
Всем пользователям SMF 2.0 рекомендуется перейти на SMF 2.1. В нашей wiki доступно руководство по обновлению SMF. Если вам потребуется помощь или рекомендации по переходу, вы можете обратиться в разделы поддержки SMF 2.1.
Участники со статусом Charter Member также могут открыть тикет и запросить помощь с обновлением форума.
Основные усилия разработчиков Simple Machines сейчас сосредоточены на разрабатываемой ветке SMF 3.0, при этом мы продолжаем поддерживать стабильную ветку SMF 2.1.
Спасибо, что используете SMF!
С уважением,
Simple Machines
Оригинал: https://www.simplemachines.org/community/index.php?topic=595117.0
- 3 пользователям это нравится.
Выпущен SMF 2.1.7
Основные изменения в SMF 2.1.7
- Удаление PHPSESSID
- Исправление очереди отправки почты
- Исправления поиска для типов mb3 и memory
- Исправления ошибок BBC
- Исправлены неработающие ссылки активации в Gmail
- Исправлена ошибка обработки изображений/аватаров, вызванная отсутствующими MIME-обработчиками
- Исправления SCEditor
- Исправления системы пользовательских уведомлений
- Исправления кэширования
- Исправления обновления Unicode
- Исправления определения прокси
- Прочие исправления ошибок
Дополнительную информацию можно найти в списке изменений на GitHub.
Как обновиться до версии 2.1.7
Если вы используете версию 2.1.6, вы можете обновиться через Менеджер пакетов (Центр администрирования > Менеджер пакетов). Там должно появиться уведомление о версии 2.1.7 с ссылкой «обновить форум». Если уведомление не появилось, выполните задачу "Получить файлы Simple Machines" на странице Запланированные задачи (Центр администрирования > Обслуживание > Запланированные задачи), затем попробуйте снова.
Если вы сейчас используете любую версию от 2.1.0 до 2.1.5, можете использовать описанный выше процесс, последовательно применяя предыдущие патчи обновлений, пока не достигнете версии 2.1.7.
Если вы используете любую более старую версию SMF (включая SMF 1.x, SMF 2.0.x или одну из бета-версий/релиз-кандидатов SMF 2.1), вы можете обновиться напрямую до 2.1.7 с помощью полного пакета обновления со страницы загрузки. Обратите внимание, что при этом способе потребуется переустановить все модификации. Поэтому, если вы уже используете SMF 2.1.0 или выше, рекомендуется применять патчи последовательно, а не использовать полное обновление.
Если у вас возникают проблемы со скачиванием патча через панель администратора, вы можете загрузить его со страницы пакетов обновлений и установить, как обычный мод.
Дополнительную информацию смотрите в Онлайн-руководстве: патчи и обновления.
Оригинал: https://www.simplemachines.org/community/index.php?topic=593921.0
- 5 пользователям это нравится.
Выпущен SMF 2.1.6
Этот патч исправляет несколько ошибок, найденных в версии 2.1.5:
- Исправлена ошибка "Undefined variable $sid", возникавшая, когда пользователь с отключёнными cookies посещал форум при включённых URL без параметров.
- Исправлена ошибка запроса к базе данных, возникавшая в MariaDB при попытке выполнить поиск внутри темы.
- Исправлена ошибка при разборе BBCode.
Дополнительную информацию можно найти в списке изменений на GitHub.
Как обновиться до версии 2.1.6
Если вы используете версию 2.1.5, вы можете обновиться через Менеджер пакетов (Центр администрирования > Менеджер пакетов). Там должно появиться уведомление о версии 2.1.6 с ссылкой «обновить форум». Если уведомление не появилось, выполните задачу "Получить файлы Simple Machines" на странице Запланированные задачи (Центр администрирования > Обслуживание > Запланированные задачи), затем попробуйте снова.
Если вы используете версию от 2.1.0 до 2.1.4, вы можете последовательно применять обновления по описанному выше процессу, пока не достигнете версии 2.1.5.
Если вы используете любую более старую версию SMF (включая SMF 1.x, SMF 2.0.x или одну из бета-версий/релиз-кандидатов SMF 2.1), вы можете обновиться напрямую до 2.1.6 с помощью полного пакета обновления со страницы загрузки. Обратите внимание, что при этом способе потребуется переустановить все модификации. Поэтому, если вы уже используете SMF 2.1.0 или выше, рекомендуется применять патчи последовательно, а не использовать полное обновление.
Если у вас возникают проблемы со скачиванием патча через панель администратора, вы можете загрузить его со страницы пакетов обновлений и установить, как обычный мод.
Дополнительную информацию смотрите в Онлайн-руководстве: патчи и обновления.
Оригинал: https://www.simplemachines.org/community/index.php?topic=592074.0
- 5 пользователям это нравится.
Show Single Poll
Shows a poll in the specified topic.
Code
<?php ssi_showPoll($topicID); ?>
Result
Show Single Post
Fetches a post with a particular IDs. By default will only show if you have permission to the see the board in question. This can be overridden by passing the 2nd parameter as true.
Code
<?php ssi_fetchPosts($postIDs, $isOverride); ?>
Result
Show Single Member
Shows the specified member's name and profile link.
Code
<?php ssi_fetchMember($memberIDs); ?>
Result
Show Group Members
Shows all members in a specified group.
Code
<?php ssi_fetchGroupMembers($groupIDs); ?>
Result
Home Page Sample
This sample uses the following features: ssi_recentTopics(), ssi_logOnline(), ssi_welcome(), and ssi_boardNews(). ssi_recentTopics() is fetched using the array method, to allow further customizations on the output.Code
<?php require("SSI.php"); ?>
<!DOCTYPE html>
<html>
<head>
<title>SSI.php example for home page</title>
<style>
body { font-family: Arial, Tahoma, sans-serif; font-size: 80%; background: #DFDFDF; color: #FFFFFF; margin: 0 }
ul,ol { padding-left: 19px; margin: 0; }
li { font-size: 11px; }
h1,h2,h3 { margin: 0; padding: 0; }
h3 { font-size: 15px; }
a:link,a:visited { color: #FF9000; text-decoration: none; }
a:hover { text-decoration: underline; }
#container { background: #52514E; width: 100%; border: 1px solid midnightblue; line-height: 150%; margin: 0; }
#header,#footer { color: lightgray; background-color: #2A2825; clear: both; padding: .5em; }
#leftbar { background: #DF7E00; float: left; width: 160px; margin: 0; padding: 1em; }
#leftbar a { color: #000000; text-decoration: underline; }
#content { margin-left: 190px; padding: 1em; }
#navigation { float: right; }
#navigation a:link,#navigation a:visited { color: #FF9000; }
</style>
</head>
<body>
<div id="container">
<div id="header">
<div id="navigation">
<a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a>
</div>
<h1 class="header">YourWebsite.com</h1>
</div>
<div id="leftbar">
<h3>Recent Forum Topics</h3>
<ul>
<?php
// Using array method to show shorter display style.
$topics = ssi_recentTopics(8, null, null, 'array');
foreach ($topics as $topic)
{
// Uncomment the following code to get a listing of array elements that SMF provides for this function.
// echo '<pre>', print_r($topic), '</pre>';
echo '
<li><a href=\"', $topic['href'], '\">', $topic['subject'], '</a> ', $txt['by'], ' ', $topics[$i]['poster']['link'], '</li>';
}
unset($topics);
?>
</ul><br>
<h3>Online Users</h3>
<?php ssi_logOnline(); ?>
</div>
<div id="content">
<?php ssi_welcome(); ?><br><br>
<h2>News</h2>
<?php ssi_boardNews(); ?>
</div>
<div id="footer">
<a target="_blank" rel="noopener" rel="license" href="https://creativecommons.org/licenses/publicdomain/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/publicdomain/88x31.png"></a>
This sample website layout is dedicated to the <a target="_blank" rel="noopener" rel="license" href="https://creativecommons.org/licenses/publicdomain/">Public Domain</a>.
</div>
</div>
</body>
</html>