タグ

ブックマーク / www.pupha.net (6)

  • PHPで画像ファイルかどうかを検証する(Laravel)

    Development Software WebSecurity PHPで画像ファイルかどうかを検証する(Laravel)※当サイトにはプロモーションが含まれています。 特定のファイルが画像ファイルかどうかを検証するPHPの関数を書いてみました。ウェブサイトにアップロードされた画像ファイルを検証する時などに使うことを想定しています。 GIF/JPEG/PNG のみ対象としています。Laravelを使っていることを前提としているので、エラー発生時には ErrorExceptionクラスの例外がスローされます。getimagesize関数はマジックバイトを見ているだけなので、念のため imagecreatefromstring関数でイメージリソースが生成できるかチェックしています。/** * @param String $filepath * @return bool */ function

    PHPで画像ファイルかどうかを検証する(Laravel)
  • Laravel 5 で入力パラメータ値の文字エンコーディングをチェックするMiddlewareを追加する

    1.以下のミドルウェアを作成するapp/Http/Middleware/EncodingValidateParams.php として、パラメータ値の文字エンコーディングをチェックするミドルウェアを新規に作成します。 <?php namespace App\Http\Middleware; use Closure; class EncodingValidateParams { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { foreach ($request->all() as $val) { if

    Laravel 5 で入力パラメータ値の文字エンコーディングをチェックするMiddlewareを追加する
  • Laravel 5 のタマネギ構造実装処理

    前回の Laravel 5 の処理の流れ でも書きましたが、Laravel 5 はタマネギのような構造になっており、複数のMiddlewareによって内部の処理が包まれています。このタマネギ構造をどうやって実装しているかについても少し調べていたのでメモしておくことにしました。Middlewareには、「Global Middleware」と「ルートに割り当てられたMiddleware」の2種類あるのですが、今回は Global Middleware の処理を取り上げます。 バージョンLaravel Framework version 5.0.6 Global Middleware の実装処理主な関連処理\Illuminate\Foundation\Http\Kernel::handle public/index.php 内から実行されます。このメソッドでは、リクエストオブジェクトの取得 →

    Laravel 5 のタマネギ構造実装処理
  • Laravel 5 の Global Middleware ではルートの名前がとれない?

    Development Software Laravel 5 の Global Middleware ではルートの名前がとれない?※当サイトにはプロモーションが含まれています。 ※ ここで「ルートの名前」と言っているのは名前付きルートによる名前のことです。 Laravel 5 には Middleware という機能が組み込まれていて、コントローラの処理が実行される前にいろいろな処理を追加することができます(レスポンス送信後に実行する処理も記述可能)。従来デフォルトで組み込まれていた各フィルター処理はこちらの機能に移動されています。 Middlewareは登録の仕方によって、2つの種類があります。 Global Middleware作成したMiddlewareを app/Http/Kernel.phpの$middlewareプロパティに登録すると、HTTPリクエスト毎に常に実行されるようにな

    Laravel 5 の Global Middleware ではルートの名前がとれない?
  • Laravel 4.2 に PHP-Vars-To-Js-Transformer を導入

    laracasts/PHP-Vars-To-Js-Transformer を使ってみました。これは、PHPからJavaScriptへ変数を渡すためのものです。laracastsが作ったライブラリですが、Laravel以外でも使えるようです。 基的には、GitHubのREADMEに書いてある通りに導入して使えばよいのですが、設定のところが一部分かりにくかったのでそこだけメモしておきます。 環境Laravel v4.2 設定ファイル app/config/packages/laracasts/utilities/config.phpの記述例return [ ... // パスの区切りにはドットを使用する // 以下は、app/views/layouts/partials/footer.blade.php を指定する場合 'bind_js_vars_to_this_view' => 'layo

    Laravel 4.2 に PHP-Vars-To-Js-Transformer を導入
  • Laravel 4.2 に phpdotenv を導入

    Laravel 4.2 に vlucas/phpdotenv を導入した時のメモです。 このパッケージを導入すると、任意のパスにおいた .env ファイルから環境変数を読み込ませることができます。 環境Laravel v4.2 インストールcomposer.json に以下を追記します。 ... "require": { ... "vlucas/phpdotenv": "1.1", ... }, ... composer を update して、このパッケージをインストールします。 $ composer update Laravelの設定ここでは例として、環境名を環境変数から読み込ませます。 .env ファイルを追加Laravelのルートディレクトリ直下に .envファイルを生成します。 以下のように、LARAVEL_ENVという環境変数に環境名をセットしておきます。(APP_ENVという

    Laravel 4.2 に phpdotenv を導入
  • 1