記事一覧
Laravel学習記録 #040 バリデーションalpha_num
Laravelのバリデーションでalpha_numを使用すると日本語が通過できてしまうらしい。
alpha_num
例えば以下のように設定しても
public function store(Request $request) { $validatedData = $request->validate([ 'test' => 'required|alp
Laravel学習記録 #039 セッションを学ぶ
Laravelでのセッションの扱いについて学習しましたので、その記録です。
Laravelのセッションについてユーザー情報を複数のリクエスト間で保存し、後続のリクエストでその情報にアクセスできるようにする技術
Laravelではセッションを保存する方法を様々にサポートしている(file、cookie、databaseなど)
設定はconfig/session.phpで行う
セッションの操作
Laravel学習記録 #038 クエリスコープを学ぶ
Laravelのスコープについて学習したことをまとめております。
クエリスコープとはEloquent ORMを使用してクエリを再利用可能にするための機能
ローバルスコープとローカルスコープの2種類がある
グローバルスコープは特定のモデルに対する全てのクエリに適用
ローカルスコープは明示的に呼び出されたクエリにのみ適用
グローバルスコープ
特定のモデルに対する全てのクエリに適用することが
Laravel学習記録 #037 Gateを学ぶ
LaravelのGateについて学習したものをまとめています。
Gateとは認証済みユーザー権限など認可を判定する機能
App\Providers\AuthServiceProviderで定義される
Gateファサードを使用してAuthServiceProviderのbootメソッド内で定義
Gateを試してみるGate定義
認可タイプとして、roleが1,2の場合ならOKのものと3であ
Laravel学習記録 #036 クラスの定数定義を試す
Laravelでクラスの定数定義を試したものをまとめています。
「定数」の扱いをLaravelの標準機能を使ってconfigに設定することがありますが、configで定数を管理するのはなぁ。。て時の別案です。
専用にクラスを作成し、定数を管理します。
定数クラスを試すクラス作成
app配下にConstsディレクトリを作成し、専用のクラスを配置します。
クラスのメンバ変数として定数を定義します
Laravel学習記録 #035 JSON返却を学ぶ
LaravelのJSON返却について学習したものをまとめています。
LaravelでJSON形式で返却するにはいくつかの方法があるとのこと。
JSON返却の仕方jsonメソッドを使用する
jsonメソッドを使用することで、配列をJSONへ変換できます。
ドキュメントにも以下のように説明されています。
public function index() { $data = [
Laravel学習記録 #034 Hashファサードを学ぶ
LaravelのHashファサードについて学習したものをまとめています。
Hashファサードについてパスワードの安全な保存や検証を簡単に行うことができる
標準でBcryptおよびArgon2(argon, argon2id)の2種類
Hashファサードのmakeメソッドでパスワードを生成
Hashファサードのcheckメソッドでパスワードを検証
試してみる簡単にパスワードの生成と検証を行
Laravel学習記録 #033 routes/console.phpを学ぶ
Laravelの routes/console.php ついて学習したものをまとめています。
routes/console.phpって何?標準でインストール時にroutes/console.phpがあるが
いまいちこのファイル使い道がわからず
今まで見て見ぬふりしてました。
このファイルに定義することで
artisanコマンドで呼べる処理を登録できるらしいです。
初期では以下が定義されてます
Laravel学習記録 #032 Like検索を学ぶ
LaravelでLike検索について学習したものをまとめています。
Like検索について(Eloquent、クエリビルダ)likeメソッドはないのでwhereメソッドにlikeを指定して使います。
通常のSQL同様「%」がワイルドカードです。
$results = Hoge::where('column', 'like', '%keyword%')->get();
検索するキーワードにワイル
Laravel学習記録 #031 SQLインジェクション対策を学ぶ
LaravelでのCSRF対策について学習したものをまとめています。
SQLインジェクションについてSQL文の組み立てに問題がある場合に起こる可能性がある
悪意のあるユーザーにデータベースを不正利用されてしまう
データの盗み出し、データベースの変更など被害はさまざま
ざっくり攻撃の流れ① 攻撃者がウェブアプリケーションの入力フォームやURLパラメータに不正なSQLクエリを入れます。
②
Laravel学習記録 #030 CSRF対策を学ぶ
LaravelでのCSRF対策について学習したものをまとめています。
CSRFについてログイン機能のあるwebアプリケーションで発生しうる
認証済みユーザーに代わって不正なコマンドを実行するサイバー攻撃
不正なリンクを踏ませることで、利用者が操作したかのようになる
不正な送金やパスワード、ユーザーの変更など身に覚えのないことが行われてしまう。
ざっくり攻撃の流れ①太郎くんがWEBアプリに
Laravel学習記録 #029 ミドルウェアを学ぶ
Laravelのミドルウェアについて学習したものをまとめています。
ミドルウェアについてHTTPリクエストを処理する際に前処理や後処理を含める
グローバルミドルウェア: 全てのリクエストに適用される。
ルートミドルウェア: 特定のルートにのみ適用される。
グループミドルウェア: グループに適用される。
ミドルウェアを使ってみるグローバルミドルウェアとしてログの出力ミドルウェアを例に作成し
Laravel学習記録 #028 ルーティングを学ぶ
Laravelのルーティング機能について学習したものをまとめています。
Laravelでのルーティングについてルーティングはルーティングファイルに記述する
routesディレクトリ内のweb.phpやapi.phpなどのファイルに定義
web.phpはWebアプリケーション用、api.phpはAPI用のルーティング
HTTPメソッドに応じてリクエストを処理
特定のURIへのリクエストを対
Laravel学習記録 #027 独自認証を試して学ぶ
Laravelの認証機能について学習したものをまとめてます。
Laravel Breezeなどのスターターキットを使わずに独自でログイン機能を作成してみます。
独自のログイン機能を作成してみる独自のと言っても、Laravelに備わった機能の範囲で実現します。
・認証テーブルをusersではなくaccountsにする
・emailの代わりに、アカウントIDにする
・パスワードはLaravel標準の
Laravel学習記録 #026 認証について学ぶ
Laravelの認証機能について学習したものをまとめてます。
認証機能についてLaravelの認証機能は「ガード」と「プロバイダ」で構成される
ガードは、ユーザーがアプリケーションにアクセスするたびに、そのユーザーが認証されたユーザーであることを確認する方法
プロバイダは、データベースなどの永続ストレージからユーザーを取得する方法
config/auth.phpで設定可能
スターターキッ
Laravel学習記録 #025 メール送信について学ぶ
Laravelのメール送信について学習したものをまとめてます。
Laravelでのメール送信標準でSMTPなどを介して電子メールを送信するためのドライバーが多数用意されている
config/mail.phpに設定がある
メールの内容や送信先などをカスタマイズするためにはMailableクラスを使う
メール送信はファサードを介して行う
試してみるローカルの確認のためmailtrapというサ