Category: Laravel

ファイルのアップロード(2)画像ファイルだけをアップ

ファイルのアップロードと言っても、なんのフォーマットのファイルでもアップをしてよいというわけではありません。たいていは画像ファイルのアップロードになりますが、それでもGIFはアップしてもらいたくない、JPEGだけが欲しいとか。 そのときは、バリデーションを使用してアップしたファイルのMIMEの情報をもとにプログラムで制限します。

ファイルのアップロード(1)ファイルのサイズの制限:制限なしでも制限ある

入力フォーム画面でのファイルのアップロードは、他のテキストの入力と違っていろいろなことを考慮する必要があり、開発はそう簡単ではありません。PHPのマニュアルでも、説明のためだけに一章を費やしています。 もちろん、Laravelを使うことで開発はかなり簡単になるのだけれど、注意する点やアップしたファイルをどう使用するか...などたくさんのトピックあります。以下、いくつか興味あるトピックをリストしました。

会員編集フォーム

ウェブのプログラミングでなんといっても難しいのはフォーム画面のプログラムです。テキスト入力、ドロップダウン、ファイルのアップロード機能、さらにjqueryやangularなどのフロントエンドのjavascriptも入れば、無限の可能性があります。 以前紹介したLaravelの付録の会員認証サンプルの会員登録画面は、php artisan make:authコマンドで自動作成されますが、ログイン後に会員がEメールアドレスや名前を編集する画面は作成されません。 今回はこの編集画面を作成してみます。

Eloquentのアクセッサーの説明例

Laravelのマニュアルは、ほどよい説明で気に入っています。長い説明でポイントがつかめなく困ることはそうありません。理解には何回か読むことも必要ですが。 しかし、ときには掲載されるサンプルコードがよく使用されるような例ではなく、逆に混乱してしまうことあります。

ユーザー認証(14)Debugbar

マルチ認証のトピックが続いていますが、同じブラウザを使用して「会員」と「管理者」の両方にログインしたらどうなるのでしょう? ログインはブラウザのクッキーを使用して、サーバーのセッションと繋がっています。Laravelはそれぞれに違うセッション、違うクッキーを使用するのでしょうか?それとも同じセッションで違う情報を保持するのでしょうか?興味ありませんか? ということで、便利なツールの紹介とともに、認証のセッションがどうなっているかチェックしてみましょう。

ユーザー認証(13)Laravel 5.2 Hashを複数使用する

ユーザー認証(10)Laravel 5.2 マルチ認証では、会員と管理者に対して異なるDBテーブルをもとに認証を設定しました。 また、 前回では、違うHasherの使用を試みました。 今回は、マルチ認証のときに異なるHasherを用いるケースについて考えてみましょう。そうたくさん起こるケースでないかもしれませんが、私のクライアントのシステムでは実際に起こるケースです。1つのシステムにおいて、「会員」と「管理者」と「店舗管理者」が存在し、それぞれの認証は異なるHasherを使用しています。特に「管理者」は複数のシステムで共有するもので、その認証のためのサーバーが違うマシンに存在します。

ユーザー認証(12)Laravel 5.2 Hasherを変える

Hasherとは、パスワードからHashの作成に使用される関数です。さて、Hashとはなんぞや? 例えば、パスワードをtesttestとします。これをHasherに与えると、 $2y$10$CE4R5SS6f5g4Rd0fgYRbneoeCOYbE0S2xfaYNC7i41CLysQ8TRUPO のような文字列を生成します。これがHashです。 Hashは暗号化と異なり、非暗号化はできる機能はありません。つまり、 $2y$10$CE4R5SS6f5g4Rd0fgYRbneoeCOYbE0S2xfaYNC7i41CLysQ8TRUPO から、もとのパスワードtesttestを解読できる機能はありません。 この特性を活かしてユーザー認証の機能のセキュリティを高めます。