こんにちは、spoooonn@Xです。
現在、Webセキュリティスキルの習得を目的として、開発未経験のCSIRT担当がWeb技術を基礎から学び直す取り組みを進めています。
今回は、PHPとLinuxの基礎を学習した進捗の記録です。
🔁 学習ロードマップの再掲(2024年後半〜2025年計画)
半年間のスパンで、段階的にWeb技術を習得していく計画です。
全体方針と学習計画については、以下の記事で宣言しています。
📚本取組の概要はこちら👇
脱・机上セキュリティ!開発未経験CSIRTが挑むWeb技術習得記
現在は フェーズ①「Web構築基礎」 に取り組んでいます。
フェーズ | 期間 | 学習内容・活動 | 使用予定ツール・教材 | 進捗状況 |
---|---|---|---|---|
① Web構築基礎 | 4〜6月 | HTML/CSS、PHP or Python、Linux、Git、Web技術の基礎習得 | 書籍 / Udemy / 公式ドキュメント | ✅ 進行中 |
② ポートフォリオ作成 | 7〜8月 | Flask or Laravel を使ったWebアプリ、メール送信、自宅サーバ公開 | Flask/Laravel、Postfix、Dovecotなど | 未着手 |
③ セキュリティ診断 | 9〜10月 | OWASP Top 10をベースに脆弱性診断を実施し、自ら修正 | OWASP ZAP、Burp Suite、DevTools | 未着手 |
④ 応用・拡張 | 11月以降 | Docker、CI/CD、AWS再構築など(運用や実務への応用) | Docker、GitHub Actions、AWSなど | 未着手 |
📘 今回の学習内容(フェーズ①「Web構築基礎」 - 第2回)
■ Linux
- Udemyの「未経験者がLinuxを怖がらなくなる講座」を活用し、基礎的なLinux操作を体系的に復習しました。
未経験者がLinuxを怖がらなくなる講座(Udemy)
※私が本取組でとても参考にしている山浦さんの講座です!
■ PHP
- 書籍『初心者からちゃんとしたプロになる PHP基礎入門 改訂2版』を用いて、PHP + Apache + MySQL環境での書籍管理アプリを実装しました。
書籍リンク
※セキュリティ脅威(XSS、CSRF)についてもしっかり解説していて、対策の実装も明確。初心者にもわかりやすい良書でした。
🧠 新しく学んだこと
◼ PHPの基礎とセキュリティ
-
require
とinclude
の違い:エラーの発生有無による使い分け -
htmlspecialchars()
によるXSS対策 -
json_decode()
でのJSON取り扱い -
prepare()
+bindParam()
を用いたSQLインジェクション対策(プリペアドステートメント) - 正規表現を使った入力バリデーション
- ヒアドキュメント(
<<<EOD
)によるHTML埋め込みの可読性向上 -
__DIR__
定数の活用によるパス解決の安定化 - セッションとhiddenフィールドによるCSRF対策の実装
◼ Linuxの再確認と新発見
- 基本コマンドの操作感を再確認(
cd
,less
,find
,cp
など) - ディレクトリ構成の理解(例:
/sbin
,/dev
) -
/dev/null
の使い方とリダイレクトの仕組み(0
,1
,2
の標準入出力) - シンボリックリンクとハードリンクの違い
💡 気づき・振り返り
- PHPの学習を通じて、Webアプリ開発ではセキュリティ対策が実装段階から不可欠であることを再認識しました。以前読んだ徳丸本(『安全なWebアプリケーションの作り方』)ではさらに詳しい内容(HSTSやCSPなど)もあったため、改めて復習する予定です。
- Linuxに関してはコマンドの多くは既知だったものの、UNIXの設計思想や標準出力の仕組みについて体系的に理解できた点は大きな収穫でした。
- 講座内で紹介されていた『UNIXという考え方』という書籍が気になったので、今後読んでみたいと思います。
📌 次回に向けて
次回は、「Web構築基礎」フェーズの続きとして、データベース(MySQL)とGit/GitHubの使い方に取り組む予定です。
PHPとの連携や、ソース管理の基本操作についても重点的に学んでいきます。
📘 前回の記事はこちら👇
【Web技術習得ログ #01】HTML/CSSの基礎をひととおり学びました