
新しく作るっ
2023-08-31

どうも、氷翠です。
「codeigniter4」を利用して、会社のサイトを構築していく。というのも、PHP8に対応するため、セキュリティを向上させるため。準備を少しづつし始め、作業を開始。まずは、管理画面の作成。それはパスワード認証を行うことにある。
ただ、いろいろと設定してうまくいってたのに、何故かうまくいかず…
テスト用にフォルダの中でやってるからかな?
ということで、まずは「.htaccess」から見直していこう。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /work/index.php/$1 [L]
#RewriteRule ^(.*)$ /work/index.php/$1 [R=301,L]
最後の行にあるように、アドレスがどう変化するのかを見ながらこんな感じで調整。
というのも、「codeigniter」は前のバージョンもそうだが、「〜/index.php/クラス名/メソッド名」な感じのアドレスになる。今もそうだが、目指しているURLは「〜/パス/クラス名/メソッド名/」な感じ。なので、上の「.htaccess」みたいな感じになる。
なんとかパスワードの認証も無事に終わったのだが、「codeigniter4」ではメインのメソッドが実行される前に実行するべきメソッドがあるなら…
例えば、管理画面で通常のページを表示させる前に、必ずパスワードが認証されているかどうかをチェックする。そんな感じ。
それを「Filter」という設定があり、「before」「after」という二つのメソッドがある。これを利用して必ずログイン状態にあるのかどうかをチェックする。
さらに、これを管理画面だけに適用するようにしている。
難しかったけど、なんとかここまで出来た。次はモデル。
データを扱うのは、モデルやライブラリ。なので、これを作成していかないといけない。
しかも、データベースへの接続もね。
コメントを残す