Tag: L5.1

バリデーション (8) 配列をバリデーションする

laravel 5.2 で、バリデーションルールに配列を表す .* というプレースホルダーが使えるようになりました。 例えば、次のような商品オプションのバリデーションを考えます。 入力行の追加UIやドラッグ&ドロップによるソートはjQueryなどで実装することにします(laravel から離れるので解説は省きます) この場合、項目数がいくつになるかわからないので、エレメントの属性名を name="option_name" などとし、配列を返すように作りますよね。

ユーザー認証(6)ログインスロットル

スロットルと聞くと、どうしてもバイクのアクセルを想像してしまいます。どちらかというとスピードを出すために。スロットルは正確にはスピードを抑圧する意味で、「スロットル全開」というと、抑制なしで最高のスピードを出すということになります。 ここでのスロットルは、パスワードを意図的に変えて不正にログインしようという試み、たいていはプログラムによる機械的な攻撃、を抑える目的のセキュリティ対策です。具体的には、例えば過去5分間に5回ログインを失敗すると、次回のログインには10分間待たなければならないという仕組みです。もちろんそれですべて防御できるとは言えないですが、少なくとも抑制にはなります。 嬉しいことにこれも、Laravelに機能があります。

ユーザー認証(5)パスワードリセット

ユーザーログインがあるなら、パスワードを忘れることがあるのは当然。忘れたらなら、通常はログイン(たいていはEメール)を入力して、パスワードのリセットのリンクを受け取り、リンク先の画面で新規のパスワードを設定します。新しいパスワードを作成して送信してくるサイトもあります。しかし、良く利用するサイトなら、やはり自分が覚えられるパスワードを設定したいです。 そう、この機能もLaravelで提供しています。

ユーザー認証(4)認証でページを保護

ユーザー認証の目的は、ユーザー本人であることを確認し、ユーザーのプライベートの情報を他に見られることを防ぐことです。 Laravelでは、アプリにおけるすべてのルートを設定するroutes.phpのファイルにおいて、ミドルウェアを利用して保護するページを指定します。

ユーザー認証(3)ログイン・ログアウト

前回のユーザー登録では、登録後は自動的に認証され、ユーザーはあたかもすでにログインしたような状態となります。 しかし、デフォルトの設定の2時間のアイドルを過ぎると、ログアウトされてしまいます。そうなると必要なのはユーザー認証のためのログイン画面です。