フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援
フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援

form作成の際に便利なinputのtype属性とpreg_match関数

LaravelでCookieを作る時、勝手に暗号化してしまうのを防ぐ方法。

Controller

public function index()
{
    $value = "test";
    $cookie = Cookie::make("TEST_COOKIE", $value, 60, '/', 'example.com', true, true);

    return response()->withCookie($cookie);
}

こんな感じで作ったCookieは、Laravelが勝手に暗号化しちゃうらしい。

暗号化されたCookieは、同一ドメイン内のLaravel以外のアプリケーションで読み取ることが出来なかった。
(もしかしたらなにか方法があるのかもしれない・・・)

Cookieに埋め込んだ情報が暗号化するほどのデータではない場合、プレーンなCookieでも問題ないと思うので、Middlewareで除外をしてあげる。

Middleware

app/Http/Middleware/EncryptCookies.php$except 配列に除外したいCookie名を入れると暗号化を防げる。

namespace AppHttpMiddleware;

use IlluminateCookieMiddlewareEncryptCookies as Middleware;

class EncryptCookies extends Middleware
{
    /**
     * The names of the cookies that should not be encrypted.
     *
     * @var array
     */
    protected $except = [
        'TEST_COOKIE'
    ];
}

Cookie名はconfigで持ちたかったけども、configの内容をMiddlewareへ渡す方法がわからなかったので一旦ベタ書き対応とした。

[紹介元] PHPタグが付けられた新着投稿 – Qiita form作成の際に便利なinputのtype属性とpreg_match関数

コメント

記事に戻る

コメントを残す