2017-06-26 1 views
0

私はユーザーがイメージにテキストを追加できるWebサイトで作業しています。メムジェネレータのようなものを考えてみてください。私は、コード、HTMLなどを含むすべてのテキストを許可したいと思います。GDテキスト関数(imagettftext、imagestringなど)のユーザー入力をサニタイズする必要がありますか?

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

[PHPでの安全なユーザーイメージのアップロード機能](https://stackoverflow.com/questions/3644138/secure-user-image-upload-capabilities-in-php)の可能な複製 –

答えて

1

いいえ、エスケープや何も必要ありません。

あなただけコマンドデータを混乱させる可能性がある新しいコンテキストでそれを使用しているときに何かをエスケープする必要があります。この場合、テキストデータはテキストデータであり、テキストデータのままです。あなたは何もする必要はありません。

ユーザーは、フォント内のどのようなグリフでも、all the fun of unicode to go with itで画像を生成できることに注意してください。異なる方向や物事の上に表示されるテキストがあなたのアプリにとって悪い場合は、何かをしなければならないかもしれません。しかしそれはGD自体とは無関係です。

関連する問題