ファイルの配置

https://example.com/second に2つ目のLaravelを新たに設置するとき、一番初めに思いつくのは、/public/second にLaravel構成ファイルを設置し、このような方法でアクセスを制御することだが、そうすると非公開情報である/second/.envがブラウザからアクセスされてしまう。

https://example.com/second/.env
※このようにアクセスされると、データベースやSMTPなどの機密情報がテキストで表示される。

個別に.env

そのため、実際には1つ目のLaravel構成ファイルと、2つ目のLaravel構成ファイルを同じ階層に設置する。

/path/to/first
/path/to/second
※公開領域外であればOK

さらにシンボリックリンクで、/path/to/first/secondにアクセスされたときに、/path/to/second/publicの内容が表示されるように設定する

ln -s /path/to/second/public /path/to/first/public/second
※https://example.com/second にアクセスされた時に、/path/to/second/public が参照されるようになる。

こうすることで、.envへ到達する経路がなくなる。

※.envへのアクセスをdenyする形も採れるが、上記のようにそもそも公開領域外に設置することで

セッションクッキー

LaravelのCookieはドメイン直下で共有されるため、firstで認証(ユーザーログイン等)した後、別のタブでsecondで認証すると、セッションクッキーが上書きされfirstで一部の操作が行えなくなる。

そのため、second側(またはfirst側で)セッションクッキー名を変更する

.envへ次を追加する

SESSION_COOKIE=mysecondcookie

Comments

No comments yet. Why don’t you start the discussion?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です