首页 > 解决方案 > 即使我没有发送到服务器,我是否应该进行 URL 编码?

问题描述

我想知道在使用 URL 参数时是否在所有情况下都建议使用 URL 编码。

目前我正在使用 window.history.pushState 来更新我的查询字符串而不重新加载页面,以便我可以使用该 URL 中的参数在我的页面上显示刷新的某些内容。例如,当页面刷新时转到先前选择的选项的下拉菜单。

我见过一些人坚持我的所有参数都应该被编码和解码,但是如果这些值仅用于参考,而不是发送到任何地方,我真的需要对它们进行编码吗?如果需要,为什么?

标签: javascriptjquery

解决方案


编码和解码用于防止不必要的注入到服务器或应用程序中。即使您没有将其发送到服务器,也可能存在风险。如果您认为您只是使用它作为参数来显示或隐藏不会对服务器或您的信息造成任何注入损害的字段,那么您可以不进行编码。

但是每个专业开发人员都会编码,即使它没有发送到服务器。


推荐阅读