首页 > 解决方案 > 在没有协议的情况下询问 URL 有什么问题吗?

问题描述

所以我们一直在向用户询问他们的社交媒体个人资料网址并将其显示在他们的个人资料上(这样,他们的朋友可以在访问个人资料时看到它)

我一直在使用<input type="url" ... />前端验证。现在,我的客户想要它,这样他们就可以在现场输入facebook.com/blabla或不输入协议。wwww.facebook.com/blabla

我的直觉告诉我,在没有协议的情况下询问“url”在某种程度上并不理想——但我找不到任何支持这种感觉的东西。

不是在问如何跳过验证或只是添加协议 onsubmit(或与代码逻辑相关的任何内容)。

我要问的是,是否有任何“文档”/“规则”或者说在没有协议的情况下要求 url 不是一个好习惯,为什么?

标签: javascripthtmlurlprotocols

解决方案


简而言之,的,有理由/规则专门要求 HTTPS 或自己在后端实现它。

根据我的个人经验,您可能会在客户端出现安全错误,因为浏览器可能会将其检测为邪恶的双链接。

https://www.paulirish.com/2010/the-protocol-relative-url/说:

既然所有人都鼓励使用 SSL,并且没有性能问题,那么这种技术现在是一种反模式。如果您需要的资产在 SSL 上可用,则始终使用 https:// 资产。

如果您在后端修复它以自己添加 url 协议,尽管这一切都没有实际意义,那将是最好的解决方案。我会使用前端验证仅检查它是否输入有效方式,然后再次检查后端,并确定他们以什么形式进行操作,即。https ://google.com、www.google.com、google.com 等。

祝你好运!


推荐阅读