何ができるページか
Codexで問い合わせフォームを作る時に、必須チェック、メール形式チェック、ヘッダーインジェクション対策、ハニーポット、送信成功と失敗の表示、送信先メールの扱いをどう確認するかが分かります。
対象は、小規模なサービスサイト、企業向けサービスサイト、問い合わせフォーム付きサイトを、WordPressに頼りすぎずコード版で整えたい人です。
Codexに任せる作業と任せすぎない作業
Codexには、フォーム項目の整理、HTMLの構成、PHP側の入力チェック案、安全確認の観点、送信テストのチェックリスト作成を任せやすいです。
一方で、送信先メール、サーバーのメール設定、実際の本番送信、迷惑メール対策の最終判断は任せきらない方が安全です。秘密情報や送信先をHTMLに出さないことも人間側で確認します。
フォーム作成を丸投げしない理由
問い合わせフォームは、公開すると外部から入力される入口になります。見た目だけ整っていても、必須項目が空のまま送れる、メール形式が確認されない、ヘッダーインジェクションに弱い、送信先が見えている、といった問題があると危険です。
Codexにはコード作成だけでなく、何を検証したかを報告させます。作ることより、送信前後の確認が重要です。
最小構成のフォーム項目
- お名前
- メールアドレス
- お問い合わせ内容
- 送信確認用のハニーポット項目
- 送信成功メッセージ
- 送信失敗メッセージ
DB保存しない簡易フォームでは、入力内容をメール送信だけに使い、保存先を増やさない構成にすると管理が軽くなります。ただし、送信ログが必要な場合は別途方針を決めます。
安全確認のチェックリスト
- 必須項目が空なら送信しない
- メールアドレス形式を確認する
- 改行を含むヘッダー値を拒否する
- 送信先メールをHTML上に表示しない
- ハニーポットが埋まっていたら送信しない
- 成功時と失敗時の表示を分ける
- 本番反映前に送信テストの手順を決める
Codexへの指示文テンプレート
目的:
PHP問い合わせフォームの安全確認ガイドを作る
前提:
今回はガイド記事のみ作成する
実際のフォーム実装やメール設定は変更しない
確認したい観点:
必須項目チェック
メール形式チェック
ヘッダーインジェクション対策
送信先メールをHTMLに出さない
ハニーポット
送信成功 / 失敗メッセージ
送信テストで見る項目
禁止:
送信先メールアドレスを書かない
サーバーパスやIPを書かない
メール設定を変更しない
既存フォームを変更しない
報告:
追加した確認項目
触っていないファイル
未確認事項
本番反映前に見ることCodexに報告させる確認項目
フォーム確認報告:
- 必須チェック
- メール形式チェック
- ヘッダーインジェクション対策
- ハニーポット
- 送信先メールの非表示
- 成功メッセージ
- 失敗メッセージ
- 送信テスト結果
- 触っていない設定
- 未確認事項失敗しやすい点
フォームでは「送れるか」だけ確認して終わりがちです。実務では、空欄送信、形式不正、スパム入力、送信失敗時の表示、送信先の露出、メールヘッダーの扱いまで見ます。
また、Codexに実装を頼む時は、DB保存やメール設定変更まで勝手に進まないように、禁止事項を明記します。
本番反映前に見ること
公開前には、HTMLの表示、PHPの構文、入力チェック、送信テスト、エラー表示、CSSの崩れ、スマホ表示を確認します。フォームはユーザーが直接使う場所なので、本文ページ以上に慎重に扱います。