我是否需要清理GD文本函数的用户输入(im​​agettftext,imagestring等)

时间:2017-06-26 02:12:00

标签: php gd

我正在开发一个允许用户向图像添加文字的网站。想想meme发生器的那种东西。我想允许几乎所有文本,包括代码,HTML等。

考虑到允许的"输出" GD文本函数基本上是符合UTF-8标准的,我需要做什么,如果有的话,要清理用户输入?特别是考虑到我想保留代码,HTML等内容。

一个例子,例如:

$userText = $_POST['foo'];
imagettftext($image, 12, 0, 0, 0, $color, $font, $userText);

这样好吗?

修改:有人将我与Secure User Image Upload Capabilities in PHP联系起来 - 我没有询问如何上传图片 - 我询问是否/多少/什么消毒和验证我需要用户输入GD文字功能。

1 个答案:

答案 0 :(得分:1)

不,不需要逃避或需要任何东西。

在新环境中使用它时,您只需要转义某些内容,因为可能会将数据命令混淆。在这种情况下,文本数据只是文本数据,它仍然是文本数据。你不需要做任何事情。

请记住,尽管用户可能能够使用all the fun of unicode to go with it生成包含字体中任何字形的图像。如果文字出现在不同的方向,而且对你的应用程序有害......你可能不得不对此做些什么。但那与GD本身无关。