Одна инструкция должна звонить session_regenerate_id каждый раз изменения уровня безопасности сессии. Это помогает предотвратить перехват сеанса.
Пакеты RPM и DEB - это два основных механизма распространения двоичных пакетов в Linux. RPM используется RedHat и его производными (Fedora, CentOS), а DEB - в Debian и Ubuntu.
Сами файлы .rpm и .deb, как правило, являются «глупыми» архивами и устанавливаются в правильные места в папке. файловая система предварительно установленными вспомогательными приложениями. Вам не нужно беспокоиться о написании сценариев для установки файлов, если только это не очень сложное приложение, требующее специальной настройки для каждой системы.
Обычные шаблоны, которые я вижу для распространения двоичных файлов, следующие:
rpm и deb будут хранить двоичные файлы. Скорее всего, вам понадобятся разные двоичные файлы для каждого дистрибутива или варианта дистрибутива, просто потому, что в разных дистрибутивах вещи разные, например, пути.
Я рекомендую начать с двух, у вас есть rpm и deb, и прибить эти два дистрибутива. Затем, возможно, создайте tarball для разных дистрибутивов, чтобы люди могли извлекать и структуру каталогов, а также копировать и обрабатывать разрешения самостоятельно.
Кроме того, для таких вещей, как deb, вы можете настроить сайт в качестве репозитория. Это позволяет людям легко добавлять репо и очень легко получать / устанавливать deb в ubuntu. Так поступают многие сторонние разработчики с закрытым исходным кодом.
Вероятно, вам следует предоставить собственный пакет для каждого официально поддерживаемого дистрибутива Linux (поскольку вы официально поддерживаете их, вы будете тестировать их, поэтому это будет тривиально) и предоставить .tar.gz, который люди могут использовать для получения других.
Пользователи всегда могут создать свой собственный .rpm и т. д. для какого-то чужого дистрибутива, который вы не поддерживаете; но они не могут жаловаться вам, если это не работает в официально поддерживаемой ОС.
Какие ОС вы официально поддерживаете? Очевидно, вам нужно будет протестировать их все (по крайней мере, вам нужно будет пройти весь ваш набор регрессионных тестов для каждой ОС в каждом выпуске).
Это, конечно, сложно, если вы поддерживаете несколько архитектур.
Это то, что делают файлы .rpm и .deb, НО вы должны быть уверены, что дистрибутив installee имеет возможность работать с файлами .rpm и .deb. Если вы хотите, чтобы что-то наверняка работало в нескольких дистрибутивах, где вы не можете быть уверены, что у них будет правильный менеджер пакетов, тогда вам придется прибегнуть к методу сценария оболочки. Я бы посоветовал, если вам это удастся, создать свой двоичный файл для как .rpm, так и .deb - таким образом вы получите охват большинства дистрибутивов и разрешите пользователям устанавливать их так, как они удобны и знакомы, и вам не нужно пытаться запускать собственные сценарии оболочки установщика / деинсталлятора.