防止使用JavaScript进行表单注入
Prevent form injection with JavaScript?
我有一个页面,用户必须使用HTML5 Canvas和JavaScript创建自定义配置文件图片。画布的base64图像数据以一种形式存储在一个隐藏的输入字段元素中,他们在其中输入其余的用户信息。我只想让网站上的人用我的JavaScript/Canvas设计器制作他们的个人资料图片,但用户可以进入Chrome控制台,或使用地址栏或用户脚本将隐藏输入字段的内容设置为他们选择的base-64图像数据(不是用我的画布制作的)。
我如何阻止人们这样做?我在想可能是某种使用AJAX将数据POST到设置$_SESSION数据的PHP文件中的方法,但我想不出有什么方法可以防止用户注入javascript来更改参数。
如果不熟练地了解您的环境,我将进行猜测。
我假设您使用的是某种库,它允许用户在画布上绘制(有效地使其成为mspaint)。假设这是真的,您可以记录图像制作过程中的每个步骤,并将其发送到服务器。这现在允许三件事:
- 用户最终得到了他们绘制的图像
- 服务器知道它是合法的,因为它一直在跟踪
- 因为如果项目符号为2,则不再需要保存画布结果
不要浪费时间试图弄清楚如何依靠客户端来防止这种不必要的用户行为。如果有人想在客户身上做这件事,他们会想办法做到的,而且可能不会花很长时间。如果要防止这种用户行为,请在服务器端执行。这可能很容易,也可能不容易,但至少是可能的。这根本不可能在客户端实现。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- 如何使用javascript或html下载PDF格式的填写表单
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- Ajax发布表单序列化,发布引号'
- 多级HTML表单
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 在表单上注入javascript以发送post请求
- 使用expressjs将post请求中的表单输入注入get请求中
- JavaScript 在表单中注入密码是否安全
- 在使用 CasperJS 提交表单之前注入其他值以供选择
- 防止使用JavaScript进行表单注入
- javascript从txt文件中读取并将文本注入表单
- 在新选项卡中注入Javascript并验证表单
- 在AngularJS中,从模态表单中注入数据到父表单中
- 用Ajax注入表单,获取其输入值
- 在提交表单时,动态注入的表单字段不会被提交