会社Webサイトの会員サイト化の検討で調査。
●基本や考え方:
その前に、別途ブクマした https://furien.jp/columns/122/ 参照のこと。
●お勧めライブラリ
上記URLにもあるが、catalyst/sentinelがよく出てくるようだ。
●『Access_user Class』
前任者が使ったライブラリは、『Access_user Class』と名づけられたもので、古い。
・https://www.web-development-blog.com/php-login-access_user-class/
⇒PHP4.3が基本でPHP5.1もOKそう。MySQL利用。
最新バージョンは、1.99。
・http://freshmeat.sourceforge.net/projects/access_user
⇒Ver.1.92が2006年リリースと古い。
・https://www.phpclasses.org/package/1906-PHP-Site-user-registration-and-page-access-restriction.html
⇒2004年のAwardを受賞しているので、当時の信頼性はあるが、とにかく古い。
●ライブラリ使わず、自作する場合のサンプルコード:
・『PHPとMySQLで新規登録とログインを実装する(PDO使用) - Qiita』
https://qiita.com/KosukeQiita/items/b56b3004413c999b9858
⇒コメントで、クロスサイトスクリプティングしろ!と言われ修正。→信頼度低。
・『新規会員登録機能を作成する(1_3)[メール認証][仮登録][PHP]』
http://noumenon-th.net/programming/2016/02/26/registration/
3ページセットの1ページ目。どの行がどのようなセキュリティ対策か書いてあるので、勉強になりそう。ToDo!?
●自作かライブラリかの議論も含めた紹介:
・『PHP - ログインシステム(WEB) 自作 危険 セキュリティ対策は (34051)|teratail』
https://teratail.com/questions/34051
⇒未読。ToDo
・『PHP - 会員制サイト開発のためのPHPフレームワークについて(100663)|teratail』
https://teratail.com/questions/100663
⇒ここで言っている「ライブラリ」は、それぞれのフレームワーク専用のライブラリか?(いや、Sentinelはいろいろなフレームワークに対応とどこか別ページで書いてあったので、フレームワークに使えるライブラリとは"専用"とは限らないか…)
当テーマとは関係ないが、Fuel PHPはもう流行ってないのね…。一方FuelPHPの元となった良Frameworkだがライセンス問題があったCodeigniterの方がまだずっと元気なようで。