Javascript 这个输入消毒正则表达式安全吗?
我有一个输入字段,希望用户在其中输入一个地方的名称(城市/城镇/村庄/任何地方)。我有一个函数,用于清理输入字段的内容Javascript 这个输入消毒正则表达式安全吗?,javascript,regex,input,sanitization,Javascript,Regex,Input,Sanitization,我有一个输入字段,希望用户在其中输入一个地方的名称(城市/城镇/村庄/任何地方)。我有一个函数,用于清理输入字段的内容 sanitizeInput: function (input) { return input.replaceAll(/[&/\\#,+()$~%.^'":*?<>{}]/g, ""); } sanitizeInput:函数(输入){ 返回input.replaceAll(/[&/\\\\\\\,+()$
sanitizeInput: function (input) {
return input.replaceAll(/[&/\\#,+()$~%.^'":*?<>{}]/g, "");
}
sanitizeInput:函数(输入){
返回input.replaceAll(/[&/\\\\\\\,+()$~%.^':?{}]/g,“”;
}
我想删除我希望不会出现在地名中的所有特殊字符。我认为黑名单正则表达式比白名单正则表达式好,因为地名中可能还会出现许多字符
我的问题是:
编辑:这是一个只有前端的小型项目。没有后端。重要的是要记住,前端清理主要是为了改善用户体验和防止意外数据输入错误。有一些方法可以绕过前端控件。因此,依赖t上的清理数据非常重要出于安全目的删除后端。这可能不是您问题的答案,但根据您对后端使用的内容,您可能需要清理某些内容,或者它可能内置了控件,您可能不需要担心进一步清理 附言。
请原谅我缺少参考资料。但这值得你自己研究。重要的是要记住,前端清理主要是为了改善用户体验和防止意外数据输入错误。有一些方法可以绕过前端控制。因此,依赖bac上的清理数据非常重要kend用于安全目的。这可能不是您问题的答案,但根据您在后端使用的内容,您可能需要清理某些内容,或者它可能内置了控件,您可能不需要担心进一步清理 附言。
请原谅我缺少参考资料。但这是值得你自己研究的。你的正则表达式非常适合删除任何特殊字符。 答案是: 1.正则表达式是安全的,但正如您所提到的,它是一个vuejs项目,因此js功能将在浏览器上运行。浏览器基本上不安全,无法执行用户输入清理。您也应该在后端服务器上执行此操作,以确保100%安全
如果您对此答案有任何疑问,请通过评论或回复告知我。您的正则表达式非常适合删除任何特殊字符。 答案是: 1.正则表达式是安全的,但正如您所提到的,它是一个vuejs项目,因此js功能将在浏览器上运行。浏览器基本上不安全,无法执行用户输入清理。您也应该在后端服务器上执行此操作,以确保100%安全
如果您对这个答案有任何疑问,请通过评论或回复让我知道。好吧,我的项目没有我自己的后端。这是一个非常小的前端项目。那么我同意subhadip pahari的观点。如果您只是担心脚本攻击,我会说您已经充分保护了自己免受它的攻击!这里有一个工具我可以使用在过去,我发现对测试regex很有帮助:嗯,我的项目没有自己的后端。这是一个只有前端的非常小的项目。那么我同意subhadip pahari的观点。如果你只是担心脚本攻击,我会说你已经充分保护了自己免受它的攻击!下面是一个我发现对测试regex很有帮助的工具过去: