SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
フロントコントローラを実装して
簡易CMSを作る
三浦 恒樹 (MIURA KOUKI)
診療情報管理士
上級医療情報技師
医用画像情報専門技師
ドゥウェル株式会社
2024.02.03
第2回 札幌 PHP 勉強会
INTRODUCE
・医療系(病院向け)ソフトウェア開発会社に勤務
・仕事ではJava、C#、JavaScript が主な開発言語
・個人の開発はPHP
フロントコントローラ…なぜ実装するのか
・フルスタックフレームワーク → 高機能すぎる。
・軽量フレームワーク → まだ高機能。
・フロントコントローラのみ実装 → ちょうど良い!
Laravel, CakePHP等
Slim等
WEBサーバ - フロントコントローラの設定
すべての.phpファイル
への直接アクセスを禁止
コンテキストルート(cms)配下へのアクセス
1. 実ファイルがあれば返却($uri)
2. 無ければ@app(アプリ)にルーティング
すべてのリクエストを/cms/index.php
に集約(フロントコントローラ)
フロントコントローラでやること
1. 設定ファイル読み込み
2. URL解析
3. アクセス制御
4. コンテンツ読み込み
1.設定ファイル読み込み
2.URL解析
3.アクセス制御
4.コンテンツ読み込み
セキュリティの考慮
https://www.ipa.go.jp/security/vuln/websecurity/about.html
1. 設定ファイル読み込み
2. URL解析
・階層構造を抽出
・クエリパラメータを抽出
3. アクセス制御 ・IPアドレスでのアクセス制御
・認証・認可でのアクセス制御
4. コンテンツ読み込み
4. コンテンツ読み込み
SUMMARY
・フロントコントローラを実装して簡易CMSを作った
・セキュリティには注意が必要
・PHP=そのまま設定ファイル・テンプレートエンジン
・今後やりたいこと
Security, Log, Database, AdminUI, DesignTemplates
ご清聴ありがとうございました。

Weitere ähnliche Inhalte

Ähnlich wie 20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る.pdf

[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組みRecruit Technologies
 
PHP7実環境ベンチ2016春
PHP7実環境ベンチ2016春PHP7実環境ベンチ2016春
PHP7実環境ベンチ2016春Ryo Tomidokoro
 
Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)
Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)
Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)Trainocate Japan, Ltd.
 
経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005Makoto Shimizu
 
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃうフレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう株式会社オプト 仙台ラボラトリ
 
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---Open Source Software Association of Japan
 
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Shingo Kitayama
 
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016Hiroshi Tokumaru
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Yuya Yamaki
 
俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)Masayuki KaToH
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践Shumpei Shiraishi
 
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験Takahiro Moteki
 
Jslug2 nagoya-shibata
Jslug2 nagoya-shibataJslug2 nagoya-shibata
Jslug2 nagoya-shibataNaoki Shibata
 
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...Insight Technology, Inc.
 
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012Hiroshi Tokumaru
 
140917運用管理勉強会job scheduler
140917運用管理勉強会job scheduler140917運用管理勉強会job scheduler
140917運用管理勉強会job schedulerOSSラボ株式会社
 

Ähnlich wie 20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る.pdf (20)

第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ①Microsoft様資料
第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ①Microsoft様資料第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ①Microsoft様資料
第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ①Microsoft様資料
 
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
 
PHP7実環境ベンチ2016春
PHP7実環境ベンチ2016春PHP7実環境ベンチ2016春
PHP7実環境ベンチ2016春
 
コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -
 
Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)
Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)
Hyper-v、オンプレミスでもコンテナを (トレノケ雲の会 mod2)
 
経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005
 
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃうフレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう
 
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
 
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-
 
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
 
俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
 
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
 
Jslug2 nagoya-shibata
Jslug2 nagoya-shibataJslug2 nagoya-shibata
Jslug2 nagoya-shibata
 
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
 
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
 
NanoA
NanoANanoA
NanoA
 
140917運用管理勉強会job scheduler
140917運用管理勉強会job scheduler140917運用管理勉強会job scheduler
140917運用管理勉強会job scheduler
 
OpenSpan_PreMarketing
OpenSpan_PreMarketingOpenSpan_PreMarketing
OpenSpan_PreMarketing
 

20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る.pdf