2016/12/15 @ PHPカンファレンス2016再演 https://saien.connpass.com/event/45318/
みなさん、こんにちは。第6回となる今回は、PHPでの画像ファイルのアップロードについてお話しします。 参考図書である「プログラミングPHP」には、画像のアップロードについて、実は1ページ半程度しか載っていません。 ですが業務でWEBシステムを開発していると、画像のアップロードは頻繁に利用するうえに、プログラムとして割と手間がかかります。さらにはセキュリティホールにもなりやすい厄介な部分ですので、しっかり見ていきましょう。 まずはアップロードしてみよう なにはともあれ、まずは普通にファイルをアップロードするプログラムを書いてみます。 normal_post1.php source <?php if($_FILES['file']){ move_uploaded_file($_FILES['file']['tmp_name'], './img/test.jpg'); } ?> <form ac
みなさんお仕事の進捗どうですか? 今日は ふと今こそ保守性・管理性が劇的に上がるPHPのスマートなコードの書き方まとめを俺が書くときじゃないだろうか。 — そーだい@初代ALF (@soudai1025) 2014, 8月 12 こんな軽はずみな発言をしてしまったが故にネットで触れては行けない3大炎上案件について触れる。 ※ネットで触れては行けない3大炎上案件とは? Excel関連(スクショとか) 宗教(エディタとか) PHP のこと。 で今話題の元ネタを既に@sue445さんが魚拓してくれてる。 「Hello! my name is 404 お探しのページはありませんでした!申し訳ありません。。」 http://t.co/MS8Xy0bCMz 魚拓とっててよかったw http://t.co/UvG3gzsPul — sue445 (@sue445) 2014, 8月 12 (炎上したら即
(Last Updated On: 2018年8月13日)PHPはスクリプトアップロードに弱いシステムですが、PHPアプリにはファイルアップロードをサポートしているアプリが数多くあります。WordPressなど自動更新を行うアプリも増えてきました。 PHPアプリの場合、MVCフレームワークなどを使っていてもエントリポイントにはPHPファイルが必要です。ファイルアップロードをより安全に使うための設定も可能ですが、WordPressのようなファイル配置で自動更新を行っているアプリの場合、攻撃を完全に防ぐ事ができません。 しかし、簡単な方法でドキュメントルート以下のPHPファイルの実行をホワイトリストで防御することができます。 防御の方法 以下のような手順で意図しないPHPスクリプトの直接実行を防止です。 実行を許可するPHPファイルのホワイトリスト(allowed_php_scripts.ph
PHPでは、一意なキーを生成を生成するのに、uniqid()があります。 これは現在時間をマイクロ秒単位にしたものを使用しています。 つまりランダムというより、重複のない一意な値となります。 戻り値は、『 4a4f513eb71b1 』のような半角英数字の13文字です。16進数文字なので、「0から9 aからf」です。 第一引数にはプレフィックス、第二引数には追加のエントロピーの使用の有無を渡すことができます。 第二引数はデフォルトは false になっていますが、trueにするとドット『 . 』と数字9文字が追加され、文字数が23文字になります。 『 4a4f5caadd40c2.19903592 』このような値です。 半角英数字のみにするにはsha1ハッシュ変換します。 sha1( uniqid( null , true ) ) sha1の戻り値は、40文字の半角英数字(0から9 aから
上記の1章から17章までの詳細は「目次」をご覧ください。追加1-8はオンラインマニュアル等から出題されます。 上記は予告なく変更される場合があります。受験前に必ず当Webページをご覧になってから受験ください。 上級試験オンラインマニュアル参考URL 以下が上級試験の出題範囲の全てではありませんが、上級試験合格に向けて参考に頂きたいURLをご紹介します。 — オブジェクト http://www.php.net/manual/ja/language.oop5 http://www.php.net/manual/ja/migration53.ini.php http://www.php.net/manual/ja/language.namespaces.rationale.php — ウェブに関するテクニック http://www.php.net/manual/ja/language.varia
列挙型 - Wikipedia まず列挙型の定義は〜となるんだけど、ここでは「あらかじめ定義した値のいずれかしか取らない特殊な型」という感じを想定してます。 要はSplEnumみたいなのですが、拡張モジュールの力を借りなくても、PHPだけで作れます。リフレクションを使うだけ。 <?php abstract class Enum { private $scalar; public function __construct($value) { $ref = new ReflectionObject($this); $consts = $ref->getConstants(); if (! in_array($value, $consts, true)) { throw new InvalidArgumentException; } $this->scalar = $value; } final
About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
当日の発表資料がアップされはじめているようなので、今年も講演資料などの情報をまとめさせていただきたいと思います。随時更新予定です。 ※執筆時点では、WordCamp側の資料が圧倒的に不足しております…(´;ω;`)ブワッ 2013年9月16日 追記:WordCamp側の講演資料も追加しました! リンクの誤りや追加情報などございましたら、星影(@unsoluble_sugar)までご連絡いただけるとありがたいです。よろしくお願いします。 昨年の講演資料ちなみに昨年の講演資料まとめはこちらになります。 PHPカンファレンス2012 & WordCamp Tokyo 2012 講演資料まとめ #phpcon2012 #wctokyo | Time to live forever PHP、WordPressに興味のある方は、ぜひご覧ください! タイムテーブルPHPカンファレンス2013 タイムテ
PHPカンファレンス関西2012で使用したスライドです。完全な内容は下北沢で開催した際のスライドと動画を御覧ください。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く