javascript – requestFullscreen()在不安全的源上被弃用,将来将删除支持

我在控制台中收到此消息.

requestFullscreen() is deprecated on insecure origins, and support will be removed in the future.
You should consider switching your application to a secure origin, such as HTTPS. 
See https://goo.gl/rStTGz for more details.

我认为删除常规http的全屏功能并不是一个好主意.视频,游戏和所有休闲全屏Web应用程序也需要https吗?

我知道F11(Windows)或Cmd F(Mac)无论如何都会将应用程序带到全屏,但现在WebVR即将到来,WebGL中的游戏以及其他身临其境的体验,所以难道你不认为这会退一步吗?

最佳答案 为什么全屏API受限制?

全屏API允许恶意网站模仿webbrowser和操作系统的UI.虽然这对于有经验的用户可能是可见的,但是新手计算机用户可能无法区分假UI和真实UI.这种效果在移动操作系统上更为明显,其中系统UI非常稀疏且非常可预测.

潜在的攻击可能是在进入全屏时渲染正常的网站/游戏,但也模仿浏览器镶边.当用户输入新URL或打开新选项卡时,内容和浏览器/操作系统UI将完全由攻击者控制.

例如,网站可能会向您发送一封电子邮件,然后伪造您的Gmail网页界面登录名,绿色挂锁和所有内容,以窃取您的电子邮件凭据.高级攻击甚至可以进入正常的全屏(没有任何UI),并提供虚假的“结束全屏”按钮.

出于这些原因,Web浏览器使用每个源配置限制全屏API.通常,在第一次进入全屏时,浏览器会询问您是否正常.如果您确认,则Web浏览器允许原点进入全屏而下次没有反馈.

另一个常见限制是在页面加载时无法输入全屏,但需要用户交互.

为什么要求HTTPS保持限制?

假设有一个流行的游戏网站通过HTTP使用全屏API.然后有一个明显的安全漏洞:通过互联网路由的每个攻击者都可以通过将任何未加密的请求重定向到该网站进入全屏,然后再渲染自己的攻击者代码.

虽然对于犯罪分子来说进行这样的攻击很少(但肯定不是impossible),但是有多个国家支持的攻击者甚至是try to fake TLS certificates.

视频,游戏和所有休闲全屏Web应用程序是否也需要HTPS?

如果您希望在具有审查和/或JavaScript injection attacks的网络中访问您的网站,则无论如何都需要使用HTTPS.

it doesn’t cost anything to obtain a TLS certificateoverhead of encryption is negligibleinsecure websites will generate a browser warning in the near future以来,答案是:

是的,所有网站都需要HTTPS.

点赞