javascript - Javascript:如何在新窗口中安全地打开用户提供的 URL
问题描述
在我的 Intranet 站点上,我有一个网页,其中包含一个文本字段和该文本字段旁边的图标。用户应在此字段中输入 URL,但他们可以输入任何内容。
当用户单击文本字段旁边的图标时,如果这样做是安全的,我希望文本字段中的 URL 在新窗口中打开,即这不应该暴露任何跨站点脚本漏洞。
我不在乎 URL 是否有效。例如,如果用户指定了http://wwwfoo.garbage.wibble,我希望在地址栏中打开一个带有该无意义 URL 的新窗口,并让浏览器显示其对于不可解析 URL 的标准错误。
我只想对这个解决方案使用 Javascript。
我知道如果 URL 不以 http:// 或 https:// 开头,我不应该尝试对它进行任何操作。我的问题是是否还有其他安全考虑。
非常感谢。
解决方案
推荐阅读
- javascript - vuejs2 splice 仅删除最后一个元素
- java - 使用 Spring Boot @Configuraion 和 @Value 初始化 javafx 的 TextField 的默认值
- java - java.lang.IllegalStateException:在父或祖先上下文中找不到方法 play(View) 为 android:onClick 属性定义
- android - Flutter Dart 在构建期间使用过多内存
- cas - Apereo CAS 协议:是否允许 CAS 服务器更改 URL?
- python - Pycharm:安装 Pycurl 包但未找到 (ModuleNotFoundError)
- ios - 数组映射,斯威夫特
- sql - 在不使用临时表/外部表概念的情况下从文本/xls 文件获取更新/删除 SQL 语句的输入的最简单方法
- mongodb - 我想将 bcrypt.compare 与 mongoose/mongo enginee 搜索一起使用
- jquery - 模态弹出窗口,并在新选项卡中打开一个链接