javascript - 未经验证在 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();
});
解决方案
这是绝对可以接受的 - 查询不会显示在任何其他计算机上。将其发送到服务器后,它将搜索它们粘贴在文本框中的任何内容,并返回相关文档的列表。因为在任何时候都不会将查询解析为 HTML,因此您将是安全的。
推荐阅读
- docker - Dockerfile:复制相对于本地主页的文件
- oracle - SELECT CASE withsubquery 返回多于一行
- python-3.x - 使用其他数据框的列填充 NaN
- swift - Parse SDK SaveInBackground 永远不会进入回调
- rest - 使用相同配置的 Postman 从代码调用 REST 期间出错,一切正常
- telegram-bot - 使用 smooch 电报和 zendesk 的主动消息
- ios - IOS 13 中的 setAlternateIconName
- sas - 如何在开启 sas 的同时运行脚本
- css - vw 单位中的 Div 和文本不会在 Safari 中一起调整大小
- javascript - vuejs:第 3 方库中的“this”是“未定义”