Поэтому в настоящее время на моем сайте я регистрирую пользователей OS
когда они регистрируют учетную запись. И тогда они могут просмотреть его (их OS
это было зарегистрировано при регистрации) на их «странице аккаунта».
Но мой вопрос заключается в том, чтобы получить пользователей OS
от разбора useragent
в PHP надежнее? Например я получаю пользователей useragent
через это $_SERVER['HTTP_USER_AGENT']
в php, а затем разобрать его, чтобы извлечь их OS
от useragent
, Могу ли я рассчитывать на то, что это будет точным для законных пользователей?
Мне все равно, могут ли хакеры подделать useragent
, все, что мне действительно интересно, если это ($_SERVER['HTTP_USER_AGENT']
) даст мне точные пользователи OS
от законных (не хакерских) посетителей сайта?
Да, это надежно для не хакерских пользователей.
Больше объяснений
Строка агента пользователя — это текст, который сами браузеры отправляют на веб-сервер для идентификации себя, чтобы веб-сайты могли отправлять разное содержимое на основе браузера или совместимости браузера.
Mozilla — это движок рендеринга в браузере (тот, что лежит в основе Firefox), и тот факт, что Chrome и IE содержат строку Mozilla / 4 или / 5, определяет их как совместимые с этим движком рендеринга.
Вы также можете использовать get_browser () функция php.
Вы, кажется, спрашиваете, можете ли вы доверять этому полю, чтобы оно было надежным, когда оно надежно? Ну, да, вы можете; когда это надежно, это надежно.
Но эти времена редки. Вам не нужно быть «хакером», чтобы подделать пользовательский агент. Простое расширение браузера сделает это, или один дополнительный аргумент в вашем wget
или же curl
команда, если запрос в сценарии.
Пользовательский агент на 100% подвержен ошибкам, и вы не должны полагаться на него в чем-либо полезном.
В большинстве случаев это довольно надежно, так как большинство людей не могут изменить эту информацию. Так что использование его для чисто вторичной и простой в использовании функциональности — это нормально.
Особенно в таких случаях, когда вы используете его для заполнения значений по умолчанию. Какой пользователь имеет возможность изменить, если не так.
Однако, как это Можно быть измененным / подделанным кем-либо, кто немного знает о HTTP и / или веб-браузерах, вы не должны полагаться на него в отношении безопасности. Есть даже несколько браузеров, которые позволяют пользователю изменять свою строку user-agent по желанию.
Это включает в себя использование строки агента пользователя в попытке идентифицировать пользователя. Так же легко скопировать заголовки и подделать свои собственные.
Использование SSL немного увеличит сложность. Тем не менее, чтобы получить все заголовки от ваших пользователей (или администраторов), все, что нужно злоумышленнику, это опубликовать ссылку на вашем сайте на свой собственный сервер. После чего он мог делать все, что хотел со своим.