各キャリアの画像保存・転送制限の設定方法をまとめてみました

2008/6/30 月曜日 Posted in PHP, 全キャリア対応 | 4 Comments »

今回は各キャリア・各フォーマット毎に、転送制限画像の作り方をまとめてみました。 ケータイでは、待ち受け画像などで使うために、ダウンロードした画像を再配布させないための、保存制限や転送制限を行うことができます。 転送制限をかけた画像は、メールへの添付や、SDカードへの保存が行えなくなります。 保存制限をかけた場合は、保存すらできません。 Windows用のフリーウェアなどには、転送制限を行わせないための情報を埋め込むソフトがあったりするのですが、CMSの管理画面からのアップロードや、メール添付による画像アップロードなど、サーバ上で動的に画像を生成しなければならないケースも多いと思いますので、PHPを使ったサンプル(とは言ってもコマンドを叩いているだけですが)でまとめてみることにします。   まず、概要を表にまとめると次の通りです。 キャリア 転送禁止[jpg] 転送禁止[gif] 転送禁止[png] 保存禁止[共通] ドコモ コメント追加 *1 コメント追加 *1 そもそも表示不可 保存禁止は不可能 au コメント追加 *1 コメント追加 *1 コメント追加 *2 imgタグに属性追加 *3 SoftBank ヘッダ出力 *4 ヘッダ出力 *4 ヘッダ出力 *4 ヘッダ出力 *5   *1 : ドコモ、auのjpg, gifを転送禁止にする方法 画像のヘッダ部分にコメントを入れます。 ドコモであれば「copy="NO"'」、auであれば「kddi_copyright=on」を入れてあげればOKです。 両対応にする場合は、カンマで続けて書けば大丈夫ですが、auは先頭に文字列がある必要がありますので、こちらを先に書き、「kddi_copyright=on,copy="NO"」のようにします。 PHPから処理する場合は次の通りです。 ※ImageMagickのコマンド「mogrify」がインストールされている必要があります。 $cmd = "mogrify -comment 'kddi_copyright=on,copy=\"NO\"' test.jpg"; $res = system($cmd);   *2 : auのPNG画像を転送禁止にする方法 auのPNGを転送禁止にするには、画像のCopyrightキーワードの部分に「kddi_copyright=on」を埋め込んでやればOKとのことです。 ImageMagickを使った方法が良くわからなかったため、次のソフトを使いました。 (※方法をご存じの方教えてください) こちらの記事の下段の方に「imgcmt」というソフトが公開されています。 → MODULE.JP imgcmt version 1.0.0 [module.jp] 次のようにコマンドを実行することで、うまくいきました。 PHPのsystem関数でも同様で行けると思います。 imgcmtpng Copyright kddi_copyright=on < test.png > test.png   *3 : auで画像を保存禁止にする方法 こちらは簡単です。imgタグにcopyright=yesという属性を付けてやればOKです。 <img src="test.png" copyright="yes" ... Read more..