alt text

Caption

Web dev: What browser is visiting the page?

User agent string:

A screenshot of a browser. The URL bar reads firefox://settings, a button on the URL bar is labelled Netscape, a popup from the button reads: “You’re viewing a secure Opera page”, and the web page title reads “Chrome settings”.

You are viewing a single thread.
View all comments
106 points

Functionally useless. With the web standardized, we shouldn’t need user agents anyway. It would be more beneficial to ask “do you support X, Y, and Z?”

permalink
report
reply
8 points

User agents are useful for checking if the request was made by a (legitimate self-identifying) bot, such as Googlebot.

It could also be used in some specific scenarios where you control the client and want to easily identify your client traffic in request logs.

Or maybe you offer a download on your site and you want to reorder your list to highlight the most likely correct binary for the platform in the user agent.

There are plenty of reasonable uses for user agent that have nothing to do with feature detection.

permalink
report
parent
reply
2 points

Aren’t user agents just a plain text header? Couldn’t a malicious agent just spoof a legitimate one?

permalink
report
parent
reply
1 point
*

That’s correct, it is just plain text and it can easily be spoofed. You should never perform an auth check of any kind with the user agent.

In the above examples, it wouldn’t really matter if someone spoofed the header as there generally isn’t a benefit to the malicious agent.

Where some sites get into trouble though is if they have an implicit auth check using user agents. An example could be a paywalled recipe site. They want the recipe to be indexed by Google. If I spoof my user agent to be Googlebot, I’ll get to view the recipe content they want indexed, bypassing the paywall.

But, an example of a more reasonable use for checking user agent strings for bots might be regional redirects. If a new user comes to my site, maybe I want to redirect to a localized version at a different URL based on their country. However, I probably don’t want to do that if the agent is a bot, since the bot might be indexing a given URL from anywhere. If someone spoofed their user agent and they aren’t redirected, no big deal.

permalink
report
parent
reply
18 points

That’s exactly what you’re supposed to do with the modern web, via feature detection and client hints.

The user agent in Chrome (and I think Firefox too) is “frozen” now, meaning it no longer receives any major updates.

permalink
report
parent
reply
32 points

It’s called feature detection and it goes a long way back, even before Modernizr popularized it.

permalink
report
parent
reply
6 points

Popularized? That gets less than 100k downloads a week

permalink
report
parent
reply
9 points
*

Most developers just write their own feature checks (a lot of detections are just a single line of code) or use a library that polyfills the feature if it’s missing.

The person you’re replying to is right, though. Modernizr popularized this approach. It predates npm, and npm still isn’t their main distribution method, so the npm download numbers don’t mean anything.

permalink
report
parent
reply
2 points

It used to be huge.

permalink
report
parent
reply
11 points
*

Web UI for touch screens is a lot different than keyboard and mouse. I still switch to desktop most of the time because the mobile site will lack critical info, though. They “have” to streamline the experience for mobile, but I hate it when they fully remove features.

permalink
report
parent
reply
13 points

Youtube currently (for weeks now) does not work on Firefox, if you don’t use a Firefox user agent. Google doing sketchy things again.

permalink
report
parent
reply
7 points

It works fine?

permalink
report
parent
reply
0 points

What works? YT on Firefox or YT on Firefox when the user agent is changed?

permalink
report
parent
reply
2 points

Uh… I use librewolf that force a chrome + windows user agent and its totally fine?

permalink
report
parent
reply
1 point

Then charmeleon must change more than just the user agent

permalink
report
parent
reply
15 points

YouTube works fine on Firefox…

permalink
report
parent
reply
30 points

I’ve not run into this issue and use Firefox exclusively with ublock origin

permalink
report
parent
reply
1 point

I use Charmeleon, with the effects described above.

permalink
report
parent
reply
9 points

Lazy web developers or clueless managers have entered the chat

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 7K

    Monthly active users

  • 730

    Posts

  • 11K

    Comments