0

我有一个页面,用户必须使用 HTML5 Canvas 和 JavaScript 创建自定义个人资料图片。画布的 base64 图像数据以他们输入其余用户信息的形式存储在隐藏的输入字段元素中。我只希望网站上的人们使用我的 JavaScript / Canvas 设计器制作他们的个人资料图片,但用户可以进入 Chrome 控制台,或使用地址栏或用户脚本来设置隐藏输入字段的内容到他们选择的 base-64 图像数据(不是用我的画布制作的)。

我怎样才能阻止人们这样做?我在想可能是某种使用 AJAX 将数据发布到设置 $_SESSION 数据的 PHP 文件的方法,但我想不出一种方法来阻止用户注入 javascript 来更改参数。

4

2 回答 2

1

在不流利地了解您的环境的情况下,我会猜测一下。

我将假设您正在使用某种允许用户在画布上绘图的库(有效地使其成为 mspaint)。假设这是真的,您可以记录图像制作过程中的每个步骤并将其发送到服务器。这现在允许三件事:

  1. 用户最终得到了他们绘制的图像。
  2. 服务器知道它是合法的,因为它一直在跟随。
  3. 因为如果是第 2 条,则不再需要保存的画布结果。
于 2013-08-25T04:28:46.783 回答
0

不要浪费时间试图弄清楚如何依靠客户端来防止这种不需要的用户行为。如果有人想在客户端上做这件事,他们会想办法去做,而且可能不会花很长时间。如果您想阻止这种用户行为,请在服务器端进行。这可能容易或不容易,但至少它是可能的。客户端根本不可能。

于 2013-08-25T04:21:35.127 回答