勉強したことのメモ

webプログラマが勉強したことのメモ。

PHPのログイン認証をPEAR::Authで実装する

   

PHPのシステムである程度ちゃんとしたログインシステムが必要になった。今までログイン周りはCOOKIEでやってきたけど、多分セキュリティとか危なそう。

かといってセッションはあまり使っていないので悩んでいたところ、pearのauthというのが良いと聞いた。実装時のメモ。

 

■事前準備

pearのAuthとDBというのが必要なのでSSHから以下コマンドで導入する。

 

■ソース

・ログインページ

 

・その他のページ(セッションを引き回すページ)

 

■その他

pearを使っていると動くことは動くけどSTRICTエラーみたいなエラー表示が出ることがある。以下で非表示にする事は可能。

 

ログインページは参考ソースがたくさんあったので問題なかったけど、引き回したいページがあまり見つからず苦戦した。大抵のページは非ログインでも閲覧でき、例えばアカウント情報変更のようなログイン必須のページがあるような構成の場合は、checkUserLoginをClassのコンストラクタとかで実行しておいて、

 

・非ログインでも閲覧可→ソースのcheckUserLoginの関数で多分大丈夫。

・ログイン必須→予めログアウトページを作っておいてcheckUserLoginでfalseが返った場合はそちらに遷移させる

 

方法で一応動くことは動いた。

 

 - PHP

  関連記事

PHPの配列をファイルに保存してPHPやJSで呼び出す

PHPの配列をファイルとして保存し、別のページからPHPやJavaScriptで ...

MySQLiでINSERT文

MySQLiでINSERT文 ■ソース $mysqli = new mysqli ...

フォルダにリンク制限をかける

imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...

エラー管理まとめ

■エラーログをとる。 error_reporting(E_ALL ^ E_NOT ...

PHPでランダムな値を取得するケース諸々

テストデータを作成する際に、ランダムな値を入れたかったけど、 色々ケースがあった ...

PHPでeval時のエラー

eval()'d code on line みたいなエラーが出てた。 よそのシス ...

MySQLでIPを整数値としてカラムに格納する

MySQLでIPを整数値としてカラムに格納しているケースがあった。今までIPが必 ...

定数とグローバル宣言した配列

定数のメリットが分からず、ほとんど使ってこなかったけど 画像用のfunction ...

画像をアップロードすると複数サムネイルを生成する方法

フォームで画像をアップロードすると、予め定めておいた大中小のサイズでサムネイル画 ...

PHPで指定月の月末日を取得

今月の、だったらdate('t')でいくけど指定月の場合は どうしたらいいのか分 ...