首页 > 解决方案 > 未经验证在 JavaScript 上使用 window.location.href 和用户输入是否安全?

问题描述

将某些内容分配给 window.location.href 并将其用于导航到不同的 URL 是否安全?如果不是,它应该如何保护?

例如:

<input type="text" id="search" />
<input id="search-btn" type="button" />

JS:

$('#search-btn').click(function() {
    window.location.href = window.location.href + "/Search/" + $("#search").val();
});

标签: javascriptxss

解决方案


这是绝对可以接受的 - 查询不会显示在任何其他计算机上。将其发送到服务器后,它将搜索它们粘贴在文本框中的任何内容,并返回相关文档的列表。因为在任何时候都不会将查询解析为 HTML,因此您将是安全的。


推荐阅读