タグ

ブックマーク / qiita.com/mpyw (3)

  • 画像アップロード処理サンプル集 - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 前書き より一般化したものについては 「ファイルアップロードの例外処理はこれぐらいしないと気が済まない」 を参照。ここではそれを元に画像ファイルに限定して、いくつかのパターンで例を構成してみる。また、フォームの送信と受信を同一ファイルで行うとする。 1. exif_imagetype 関数を用いてチェックを行う これは、画像に関するMIMEタイプを整数として返す関数である。finfoクラスが使えない環境においても統一的にこちらの関数は使えるはず。但し、画像の形式を判別するために必要なだけのバイト数を読み込めない場合にエラーを発生するので、 エラー制御演算子 @ を用いて抑制する必要がある。以前ここでは getimagesize 関数を

    画像アップロード処理サンプル集 - Qiita
    rin1024
    rin1024 2015/05/13
  • PHP+MySQLで簡易画像アップローダ - Qiita

    前書き はい、また出ました アップロードシリーズ!$n$番煎じとか言わないで! 今まで通りファイル1つで全部の処理を行う方針で書きました。原寸大画像・サムネイルともにファイルとしてではなくデータベース内に保存するのがポイントです。サムネイル表示に先日の 「QiitaにXSS脆弱性」 でも話題になった データURIスキーム を利用していることに着目してください。 実装 テーブル定義 CREATE TABLE image( `id` int UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'ID', `name` varchar(255) NOT NULL COMMENT 'ファイル名', `type` tinyint(2) NOT NULL COMMENT 'IMAGETYPE定数', `raw_data` mediumblob NO

    PHP+MySQLで簡易画像アップローダ - Qiita
    rin1024
    rin1024 2015/05/13
  • ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 脆弱性について 参考リンク PHPにおけるファイルアップロードの脆弱性CVE-2011-2202 PHP 5.4.1リリースのポイント 上記に対する補足説明 PHP 5.4.1以降 PHP 5.3.11以降 どちらかを満たしているならば,脆弱性は(今のところ)無い.どちらも満たしていないと, $_FILES 変数の構造を崩す攻撃 ../ をファイル名に含めて送信する攻撃 (ディレクトリトラバーサル) の何れか,もしくは両方の脆弱性を所持していることになるので要注意. 脆弱性対策と注意事項 $_FILES Corruption 対策 改竄されたフォームからの複数ファイル配列送信対策 脆弱性が修正された環境でも 改竄フォーム対策 も兼ねて

    ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita
    rin1024
    rin1024 2015/05/13
  • 1