Tag: L6.x

DNSを使ってメールアドレスをチェック

「お客さんにメールが届かないのでどうかして?」というCSからの質問。見てみるとexample@yahoo.comであるところ、example@yahpo.comになっていたりします。たった1文字違いですが、会員登録してもこのためにメールが届かないばかりか、次回からは多分ログインもできません。もちろんお客さんの間違いですが、登録時にこれが通ってしまうというのは問題です。これをどうかしたいです。

メンテナンス画面:php artisan up & down

Laravelの経験が長くなると、つまり初期のバージョンから使用していると、昔のやり方しか知らずに過ごしていることがあります。以前にメンテナンス画面の裏口のポストがありますが、それはバージョン5.1の話で、大昔です。ということでやり方学びなおします。

abort()を使ってリダイレクト

Laravelのコントローラにおいて、abort(404)のヘルパーをコールすることで簡単に予期しないアクセスを、Not Foundのエラーページの表示ができます。しかし、Not Foundページの代わりにリダイレクトして違うページに飛ばしたいときには、redirect()のヘルパーをabort()同様に好きな場所で使うことはできません。

Laravel 6.xのインストール

最新のLaravelはバージョン7.xですが、バージョン6.xは以下の表に見られるように2年間のサポート(LTS)があります。管理を頻繁に行う必要がないなら、新規のプロジェクトでは6.xバージョンをインストールするのが良いです。ということで、久しぶりに初心に戻ってLaravelのプロジェクトの作成手順を書きます。

Laravelへの移行(1)他のプログラムの認証セッションを認識

長いこと開発者をやっていると自分が開発した古いphpのプログラムの管理が悩みの種になります。なぜならLaravelのフレームワークが使われていないからです。年々新しい機能を追加したりしていると複雑になってくるし、ある昔のフレームワークで書かれたプロジェクトではphpunitも使えなく検証も容易にできません。このままで進んでいくにはますます管理において頭が痛くなります。しかし、すべて書き直してLaravelへの移行となると、日数とコストは大変なものです。さらに、外見がほとんど変わらずに中身だけの変更なので、お客さんを説得するのも難しい。

UUID ユニークなID

商品のページのURLが例えばhttps://localhost/product/5734とかだと、5734はproductsテーブルのidの値だな、とわかってしまいます。しかしこれが、商品のIDではなく会員のIDや注文のIDなら大きな問題です。もちろん通常は認証で保護してログインした人のみしか閲覧できないようにしますが、プログラムのバグで認証が外れていたら。。。そんなときにIDがシーケンスの数字でなかったら、例えば、043a9c43-26cd-432f-bb25-a0eb045815b7とかのわけのわからない数字だったら安心です。今回はidの難読化のためのuuidを紹介です。