Midari Create > webアプリケーション製品 >

ログイン認証ライブラリWakarana

Wakarana
WakaranaはPHPのwebアプリケーションへの組み込みを想定した著作権フリー(パブリックドメイン)のログイン認証ライブラリです。
基本的なログイン認証機能やロールを使用した権限管理に加え、TOTPによる2要素認証や、ワンタイムトークンによるCSRF(クロスサイトリクエストフォージェリ)対策をサポートしています。
また、データベースをSQLiteとPostgreSQLの双方から選択可能なため、小規模なサイトから大規模なサイトまで幅広く活用していただけます。

特徴

オープンソース・パブリックドメイン

Wakaranaはサンプルコードを含めて著作権放棄されたオープンソースソフトウェアです。
利用にあたってライセンス料が不要であるだけでなく、プロプライエタリなソフトウェアを含む様々なライセンスのソフトウェアに組み込んで再頒布することが可能です。

高いセキュリティ性

Wakaranaには、同一IPアドレスによる短時間での連続アクセスを検知して総当たり攻撃を抑制する機能や、弱いパスワードを判定して警告する機能が標準で備わっています。

ロールベースアクセス制御を採用

Wakaranaでは、権限管理機能として、近年多くのサービスで主流となっているロールベースアクセス制御を採用しており、権限をロールにまとめることで効率的な権限管理を実現しています。

2要素認証に対応

WakaranaはTOTP(時間ベースワンタイムコード)方式の2要素認証に対応し、Google Authenticatorを始めとした多くのTOTP対応クライアントと組み合わせることで2要素認証を実現します。

SQLiteとPostgreSQLの双方に対応

WakaranaではデータベースをSQLiteとPostgreSQLから選択可能とすることで、格安レンタルサーバーを使用する小規模webサービスから、専用サーバーを使用した大規模なシステムまで幅広い用途でご利用いただけるようになりました。

カスタムフィールド機能により柔軟にユーザーデータの追加が可能

Wakaranaは各ユーザーのユーザーデータとして登録する項目を任意に設定可能なカスタムフィールド機能を備えています。

また、各ユーザーに対して複数のメールアドレスを紐付けたり、ユーザーIDの代わりにメールアドレスでログインする機能を提供するなど、様々なwebアプリケーションで活用いただけるライブラリとなっています。

導入方法

(1) ダウンロードしたZIPファイルを解凍し、wakaranaフォルダをwebアプリケーションのフォルダ内にコピーします。

(2) 使用するwebサーバが.htaccessによるアクセス制御に対応していない場合は、サーバ側の設定ファイル(nginxの場合はconfファイル)を編集して、wakaranaフォルダ内のDBファイルとINIファイルに外部から直接アクセスできないよう設定します。

(3) wakarana_config.iniを開き、用途に応じて設定値を編集します。

(4) wakarana/config.phpをPHPファイルからインクルードし、wakarana_configクラスを使用してデータベースを作成します。

(5) カスタムフィールドを使用する場合、wakarana_configクラスを使用して追加します。

(6) wakarana/main.phpをPHPファイルからインクルードし、wakaranaクラスを呼び出して使用します。

※ 設定値や関数についての詳細は以下に掲載のサンプルコードと関数マニュアルをご確認ください。

ダウンロード

Vectorからダウンロード(推奨)

当サイトからダウンロード

既に稼働しているWakaranaのバージョンアップを行う際には、リリースノートでバージョンアップ時に行う必要のある操作をご確認ください。

各種マニュアル・サンプルコード

設定マニュアル >>
関数マニュアル >>
サンプルコード >>
※関数マニュアルではサンプルコードで紹介していない関数や、サンプルコードで省略している引数の説明もご覧いただけます。

ライセンス

本ソフトウェアは無権利創作宣言にしたがって著作権放棄されています。

ソースコード

開発者向けソースコードはFossilリポジトリにて公開しています。