作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在寻找一种方法来使用 JavaScript 清理某些表单输入,以防止提交包含未列入白名单的字符的表单。
我根据出色的 Stack Overflow 想出了这个 answer
function allowSubmission(string) {
return string == string.replace(/[^\w\s]/gi, 'X');
}
var s1 = 'simple string';
var s2 = 'alert(0);';
var s3 = '<nasty>string';
console.log(allowSubmission(s1)); //true
console.log(allowSubmission(s2)); //false
console.log(allowSubmission(s3)); //false
但这是否意味着潜在的攻击者可以关闭 JavaScript 并提交他们喜欢的任何内容?或者简单地即时编辑 JavaScript 并覆盖验证方法以仅返回 true。
那么...使用 JavaScript 进行输入清理不是毫无意义吗?
最佳答案
这仅意味着您应该始终验证和清理您的输入服务器端。不管它是否也在前端检查过。
在 JavaScript 中执行此操作可以帮助您避免不必要的请求到达您的后端并增加负载并改善用户体验,但它们不应被视为一种安全手段。
当被视为一道防线时,它毫无意义。一般来说,它的用途有很多。
关于javascript - 使用 JavaScript 进行输入清理不是毫无意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332934/
我是一名优秀的程序员,十分优秀!