画像ファイルをアップロードして表示するところまでphpで実装しました。
質問は、ファイルの変換とセキュリティの2点です。
・アップロードされたbmpファイルを、自動でgifに変換
・拡張子偽装によるブラクラ・ウィルスをチェック
この「変換」と「セキュリティチェック」について
・実際のコード
・そのまま使えるモジュールのURL
をご存知の方教えてくださいませんか?
PECLのImagickがよさそうです。
http://dozo.matrix.jp/pear/index.php?PECL%2FImagick
http://pecl.php.net/package/imagick
リンク先のコードがほとんどそのまま使えると思います。
拡張子偽装であればそもそも画像として変換することは不可能なので
特にセキュリティの問題が生じることもないでしょう。
変換ソフト(以下コンバーター)は色々あります。
Vectorサイトを検索してもいいですが、
おすすめは株式会社ツァイトのフリーコンバーターです。
(正式名称はイメージファイルコンバータ,フリーソフトウェア版だそうです。)
もともとSuperKiに付属していたものをフリーで配っています。
対応形式が多いのでもっていると便利だと思います。
■対応ファイルフォーマット
読み込み:ZSK/ZIM/BMP/TIFF/PCX/MAG/PCD/JPEG/GIF
書き込み:ZSK/ZIM/BMP/TIFF/PCX/MAG/JPEG/GIF
※プログレッシブJPEGとインタレースGIFの作成が可能です。
ご丁寧にありがたいのですが
実はすべてサーバ上で行いたいのです。
今は「使えるネット」のサーバをレンタルしております。
任意のユーザがbmpをアップロード
↓
サーバが本当にbmpなのか判定
↓
bmpであればgifに変換(でなければ、エラー)
↓
アップロードしたgifファイルをすべての人が閲覧
という手順を自動で行いたいのです
PHPでそのようなことをやりたいのであればGDライブラリを使うのが一般的かと思います。
私もそれほど詳しいわけではないのですが、参考になりそうなページをいくつかご紹介しておきます。
http://php.s3.to/man/ref.image.html
http://www.sakura-pc.jp/php/gd.shtml
ただGDライブラリはPHPのシステムに組み込む形になるのでサーバが対応していなければ使えません。
GDライブラリが使えるかどうかは以下のサイトが参考になるかと
sakura-pcでは画像の他形式への書き出しやリサイズの部分が参考になりました。
画像の変更、保存、削除などの周辺情報も欲しかったので足す勝ちます。
さらにGDもインストールなしで使えそうです。
gifでの書き出しは解決です。
ありがとうございました。
あとは、セキュリティが不安なのです・・・
PECLのImagickがよさそうです。
http://dozo.matrix.jp/pear/index.php?PECL%2FImagick
http://pecl.php.net/package/imagick
リンク先のコードがほとんどそのまま使えると思います。
拡張子偽装であればそもそも画像として変換することは不可能なので
特にセキュリティの問題が生じることもないでしょう。
まさにこれですね。
GD
pecl
ImageMagick
あたりのキーワードでそちらの世界への扉が開けました。
本当にありがとうございます
拡張子偽装の件もそれで正しそうですね
まさにこれですね。
GD
pecl
ImageMagick
あたりのキーワードでそちらの世界への扉が開けました。
本当にありがとうございます
拡張子偽装の件もそれで正しそうですね