Для начала - собственно пара слов о том, что же это за зверь такой, Suhosin... Suhosin - это корейское слово, а по совместительству еще и open-source продукт, призванный помогать веб-мастерам и системным администраторам бороться с такой напастью, как хацкеры. Подробнее про Suhosin можно почитать на сайте продукта.
Про проблемы, связанные с Serendipity и Suhosin, в продолжении статьи.
Suhosin позволяет бороться с SQL-инъекциями (SQL injections), атаками на переполнение буфера, с отправкой спама через некачественно написанные скрипты, с воровством cookie. Я бы сказал, что этот модуль относится к категории must have, если приходится использовать сторонние скрипты. Но он требует серьезных настроек, настройки по умолчанию неприемлемы в ряде случаев. Один из которых приведен ниже (решение проблемы с Serendipity).
Как водится с недавних пор, все серьезные проекты начали поддерживать "читабельные" URL, например такие как baron.su/archives/72-Berserk_onlajn_na_Flash_-_mif_ili_realnost.html. Это удобно для поисковых систем, может быть, даже удобно для пользователей... Но вызывает ряд неудобств при работе suhosin. Итак, не далее чем сегодня, я обнаружил запись в логе:
Dec 27 06:50:49 XXXXXXXX suhosin[49932]: ALERT - configured request variable name length limit exceeded - dropped variable '/archives/51-Evropejskij_server_Berserk_Berserk_Online_european_server_html' (attacker '66.249.66.177', file '/home/baron/public_html/index.php')
Не знаю, что в таком случае скармливал веб-сервер гуглю, но, думаю, явно не нужную статью. С яндексом кстати нашел то же самое в логе.
Решение проблемы - настройка Suhosin. Во FreeBSD это прячется в /usr/local/etc/php.ini, можно, например, поменять настройки таким образом:
suhosin.memory_limit = 128M
suhosin.mail.protect = 2
suhosin.get.max_value_length = 4096
Также можно использовать метод php_admin_value из .htaccess.
Имеем: при всей полезности экстеншена suhoshin, он может и навредить. Как-нибудь позже напишу про проблемы с памятью и проблемы с симлинками.