Для простого решения посмотрите здесь .Заголовок user-agent может раскрыть некоторую информацию об ОС, но я бы на это не рассчитывал.
В вашем случае я бы сделал вызов ajax, используя javascript со стороны клиента, чтобы проинформировать ваш сервер об ОС клиента.,И сделайте его водонепроницаемым.
Вот пример.
Javascript (на стороне клиента, обнаружение браузера + вызов ajax):
window.addEvent('domready', function() {
if (BrowserDetect) {
var q_data = 'ajax=true&browser=' + BrowserDetect.browser + '&version=' + BrowserDetect.version + '&os=' + BrowserDetect.OS;
var query = 'record_browser.php'
var req = new Request.JSON({url: query, onComplete: setSelectWithJSON, data: q_data}).post();
}
});
PHP (на стороне сервера):
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$session = session_id();
$user_id = isset($user_id) ? $user_id : 0;
$browser = isset($_POST['browser']) ? $_POST['browser'] : '';
$version = isset($_POST['version']) ? $_POST['version'] : '';
$os = isset($_POST['os']) ? $_POST['os'] : '';
// now do here whatever you like with this information
}