就我的Template.JS使用数组和克隆的能力而言,我担心黑客可能会将恶意脚本输入到数组中,并使用恶意数据输入创建另一个克隆框。如何防止有人向阵列中输入恶意数据?
下面是我要做的事情,就是克隆框、数组数据和“可操作”按钮。
https://fiddle.jshell.net/NitroXAce/d1qro5g3/14/
如果有一个插件或脚本可以防止恶意数据出现在数组中,那就太棒了!我知道有一件事,你不能在输入中插入代码。但我担心任何浏览器中的console.log可能会干扰...?
发布于 2017-06-18 00:14:23
假设数据来自您的服务器,而不是用户输入,那么“黑客”所能做的最糟糕的事情就是侵入自己的浏览器。这一点并不是很重要。
也就是说,您不应该使用内联事件处理程序。
理想情况下,您应该将HTML传递给加载到DOM中的(有些人会认为使用createElement等构建它会更好),并将事件处理程序附加到一个包含元素- ie。使用事件委派。
但这就是实现细节。你的问题的关键答案是-假设一个可信的数据来源(即。不是用户生成的)-这样你就不需要担心“恶意”用户可能会放入什么内容。在接收表单提交时,您的服务器应该验证所发送的内容,以确保它有意义。
发布于 2017-06-18 00:22:18
我也遇到过类似的问题,现在我正在学习PHP来创建更安全的网页。但是,该数组只能在客户端使用控制台或类似工具进行编辑。因此,即使有人更改了该值,当另一个客户端加载该页面时,这些值仍然是相同的。也就是说,如果您要将值提交到另一个页面或服务器,则无论如何都必须使用服务器端语言,因此可以在服务器端语言中使用某种形式的RegEx,以防止任何修改的输入。
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$client_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}上面是我的PHP提交表单中的一个小示例,它检查以确保值只使用允许的字符,如果名称使用无效字符,则设置'$error_message‘。然后检查通常为空的'$error_message‘,如果它不为空或null,则脚本退出并将错误消息发布到页面。
https://stackoverflow.com/questions/44606655
复制相似问题