Если делать в лоб и без затей.
$text = preg_replace('|(.{1000,}\.)|sU', '\1 blabla', $text, 1);
Еще такая идея использовать директиву php auto_prepend_file.
Поставить туда скрипт который будет проверять например $_SERVER['PHP_SELF'].
Если там не /index.php или /administrator/index.php вызывать exit и тем самым препятствовать исполнению любых скриптов не из белого списка.
От заливки новых шеллов это не спасет, но осложняет использование уже залитых шеллов.
Помимо даты изменения файла, можно глянуть ctime (дата последнего изменения inode).
ls -lc
И смотреть что было в логах фтп и веб сервера в это время.
Выставить права 444 для файлов и 555 для каталогов.
В настройках php директива disable_functions. Добавить туда функцию для смены прав доступа chmod и функции для запуска внешних программ exec, system, shell_exec, proc_open, passthru.
RewriteEngine OnRewriteCond %{QUERY_STRING} ^phrase_id=[0-9]+(&print=Y)?$RewriteRule index.php http://%{HTTP_HOST}/? [R=301,L]
RewriteEngine OnRewriteRule ^(catalog/[0-9]+)$ http://%{HTTP_HOST}/$1- [R=301,L]
Т.е Вы исправили в начале файла сайт.org$1 на сайт.org/$1
Сбросили кеш браузера.
Строка в RewriteRule попадает без начального слеша
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.сайт.org RewriteRule (.*) http://сайт.org/$1 [R=301,L]
А будет ли толк от тщательной настройки заголовка Content-Security-Policy?
)
Как-то не сразу заметил, что в перевью тегу прописаны стили <p style="text-align: justify;">
Вот еще поправил регулярку.
echo preg_replace('%(<p[^>]*>.+?\S(?<!</p>))(?=\s*(?:<div|$))%is', '\1</p>', $this->item->introtext);
При форке affinity наследуется от родительского процесса.
Так что достаточно запустить родительский процесс с нужным affinity.