在JavaScript上使用window.location.href和用户输入而不进行验证是否安全?

在JavaScript上使用window.location.href和用户输入而不进行验证是否安全?,javascript,xss,Javascript,Xss,将某些内容分配给window.location.href并将其用于导航到不同的URL是否安全?若否,应如何保障? 例如: <input type="text" id="search" /> <input id="search-btn" type="button" /> 这是绝对可以接受的-查询将不会显示在任何其他计算机上。一旦您将其发送到服务器,它将搜索文本框中粘贴的内容,并返回相关文档的列表。因为查询在任何时候都不会被解析为HTML,所以您将是安全的。只需清理用户输入

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

例如:

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

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

只需清理用户输入即可。
$('#search-btn').click(function() {
    window.location.href = window.location.href + "/Search/" + $("#search").val();
});