俺の雑記帳

My random memorandumです。(つまり、個人的な備忘録であり、その点ご容赦を。)

ログイン管理(認証機能)のPHPライブラリ

会社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を受賞しているので、当時の信頼性はあるが、とにかく古い。

●ライブラリ使わず、自作する場合のサンプルコード:
・『PHPMySQLで新規登録とログインを実装する(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の方がまだずっと元気なようで。