我正在开发一个允许用户向图像添加文字的网站。想想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文字功能。
答案 0 :(得分:1)
不,不需要逃避或需要任何东西。
在新环境中使用它时,您只需要转义某些内容,因为可能会将数据与命令混淆。在这种情况下,文本数据只是文本数据,它仍然是文本数据。你不需要做任何事情。
请记住,尽管用户可能能够使用all the fun of unicode to go with it生成包含字体中任何字形的图像。如果文字出现在不同的方向,而且对你的应用程序有害......你可能不得不对此做些什么。但那与GD本身无关。