Sandbox

学習記録や試作したものを掲載しています

"PHP"のタグを含む記事(6)

Laravel

Laravel で CMS を自作する

Laravel で CMS を自作する

小山健人さん(@koya_zo)の Udemy 講座を通じて、Laravel の学習を行った。

ログイン認証機能やブログ管理機能、メールフォームを Laravel で実装する方法を学んだ。
CSRF 等の脆弱性対策がフレームワーク側で自動的に行われるため、アプリ本体の機能開発に集中できることに Laravel の大きな利点を感じた。

なお、Laravel の環境構築をするに先んじて、Docker の学習を行った。環境構築には Laravel Sail を使用した。

参考

PHP

ToDo アプリをつくる(CRUD とトランザクションの練習)

ToDo アプリをつくる(CRUD とトランザクションの練習)

CRUD とトランザクションの練習として、ToDo アプリを作成した。

追加・編集・削除といった機能に加え、完了ステータスを JavaScript で監視することで、完了したタスクを別テーブルに移動(アーカイブ化)し、リアルタイムで表示が更新されるようにした。この操作にはトランザクションを使用し、途中で処理が失敗してもデータの整合性が保たれるようにした。

また、CRUD 操作において XSS, CSRF, SQLインジェクションの脆弱性対策を実施した。アーカイブ化における fetch を使用した非同期リクエストでは、HTML の meta タグから取得した CSRF トークンを X-CSRF-TOKEN ヘッダに付与し、サーバ側でそのトークンを検証している。

PHP

ログイン認証機能を自作する

ログイン認証機能を自作する

ログイン認証機能を自作した。

データベース抽象化レイヤーとして PDO を使用し、接続やデータ取得の手順を統一した。これにより、将来的にデータベースの置き換えが発生した際にも、プログラムの書き換えが不要となる(ただし、DB 固有の SQL 文に関しては、別途書き換えが必要)。

また、プレースホルダーを用いたプリペアドステートメントにより、SQL インジェクション対策を行った。そのほか、XSS, CSRF, セッションハイジャックの脆弱性対策を行った。

PHP

ログイン認証機能を自作する(事前練習)

ログイン認証機能を自作する(事前練習)

ログイン認証機能を自作するための事前練習を行った。

DB の接続を同時に考えると混乱する可能性があったため、まずはテキストファイルにユーザー情報を格納し、PHP だけでつくってみた。

PHP

PHP でメールフォームを自作する

PHP でメールフォームを自作する

PHP でメールフォームを自作した。XSS 対策やトークンを使った CSRF 対策、バリデーション、セッションの後処理を行った。

  • 1