gpt4 book ai didi

php - 所以可以伪造用户代理。好吧...我不应该使用 php 来检测浏览器是否有正当理由?

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:11 24 4
gpt4 key购买 nike

我一直不明白为什么有些人说为每个浏览器制作自定义 css 是一件坏事。为了减小我的页面大小并加快下载速度,为主要浏览器(尤其是 IE 的许多不同形式)制作自定义 css 对我来说非常有意义,并为其他所有内容制作一个通用的 catch all css。

如果你想派出一把臃肿的、巨大的、CSS 世界的瑞士军刀,那么在所有情况下都可以继续,我不会阻止你。

执行此操作时,快速检测浏览器很重要。加载 JavaScript 文件来检测浏览器似乎很慢。所以我更愿意用php来检测浏览器,并发出指定的css。或者至少是一般浏览器特定的 css,然后使用 JavaScript 加载更详细的 css 版本。

但我已经阅读了一篇又一篇关于为什么这是一件坏事的文章。这些文章背后的主要原因是用户代理可以被伪造。或者那里使用 Firefox,但服务器认为他们使用的是 IE7,因此它发送了错误的 css 文件。

作为网络应用程序的开发人员/设计人员,为什么这是我的问题?如果您想使用 Firefox,但告诉我的服务器您使用的是 safari 或 IE*,并得到一个糟糕的页面,为什么这是我的问题?

如果用户无法正确看到您的网站,他们将永远不会回来,或者对我提出类似的论点,请不要扔掉整个网站。普通用户不会这样做。它只会是知道如何执行此操作的人,并且当我的网站看起来很糟糕时,他们会知道出了什么问题。

这类似于在旧的 Apple II 上查看我的网站(我不知道怎么做),然后因为一切看起来都是绿色的而对我大喊大叫。

那么我不应该使用 php 来检测浏览器并发送自定义的 css 文件,是否有充分的理由,而不是个人喜好?

我主要针对不同版本的 IE 执行此操作。对于某些网站来说,添加 if IE6 和 if IE7 部分只是 css 文件大小的两倍或三倍。

最佳答案

通常,当用户故意伪造用户代理字符串时,这是因为某些本应在用户浏览器中不可见的内容。例如,某些站点可能会限制用户使用 IE 或 Firefox,但用户在 Debian 上使用的是 Iceweasel。 Iceweasel 只是出于商标原因而重命名的 Firefox(还有一些其他更改),因此该站点没有理由不能运行。

意识到发生这种情况是因为(错误的)浏览器检测,而不是尽管如此。我会说你不需要非常担心这个问题。此外,如果您可以使您的站点合理地跨浏览器兼容,那根本就没有关系。如果您真的想使用特定于浏览器的 CSS,并且不想在一个 CSS 文件中全部使用,请不要让虚假的用户代理阻止您。

关于php - 所以可以伪造用户代理。好吧...我不应该使用 php 来检测浏览器是否有正当理由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10254463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com