ISMS(ISO27001)取得支援LPです。
このLPのお問い合わせ送信は PHP で運用します。フォーム送信先は contact.php で、管理者通知メールと入力者向け自動返信メールを送信します。
公開ディレクトリに配置する主なファイル:
index.html
contact.php
styles.css
script.js
img/
config/
mail.php
config/mail.phpをベース設定として確認します。- 本番の実値は
config/mail.local.phpとして配置します。 - 設定ファイルを公開環境へ置く場合は、必要に応じて
config/.htaccessなどで直接アクセスを拒否します。 index.htmlとcontact.phpを同じ公開ディレクトリにアップロードします。
config/mail.local.php の例:
<?php
return [
'transport' => 'mail',
'from_email' => 'no-reply@awai-consulting.co.jp',
'to_email' => 'contact@awai-consulting.co.jp',
'auto_reply_subject' => '【株式会社あわいコンサルティング】お問い合わせを受け付けました',
'return_path' => 'no-reply@awai-consulting.co.jp',
];Xserver の標準的な構成では、まず mb_send_mail を使うこの設定で動作確認してください。現状の実装は mail transport を前提にしています。
- 送信先は
contact.php - 管理者通知:
contact@awai-consulting.co.jp - 送信元:
no-reply@awai-consulting.co.jp - Reply-To: 入力者メールアドレス
- 自動返信件名:
【株式会社あわいコンサルティング】お問い合わせを受け付けました - POST 以外は拒否
- 必須チェック、メール形式チェック、ヘッダーインジェクション対策あり
Accept: application/jsonの場合は JSON を返却- 通常フォーム送信時は元ページへリダイレクトしてメッセージを表示
- ハニーポット
website項目で簡易スパム対策を実施
config/mail.local.php
本番の認証情報や送信先を分ける場合は config/mail.local.php を使い、実際の認証情報は Git に含めないでください。
- サーバー: Xserver
- 接続方法: SSH + scp
- 公開ディレクトリ:
/home/utas/awai-consulting.co.jp/public_html/isms/
cd C:\Users\wasab\Desktop\Project\awai\ismsscp -P 10022 -r .\index.html .\contact.php .\styles.css .\script.js .\img .\config utas@sv8069.xserver.jp:/home/utas/awai-consulting.co.jp/public_html/isms/ssh -p 10022 utas@sv8069.xserver.jpcd /home/utas/awai-consulting.co.jp/public_html/ismschmod 755 img config
find img config -type f -exec chmod 644 {} \;
find . -maxdepth 1 -type f -exec chmod 644 {} \;https://awai-consulting.co.jp/isms/
- Windows:
Ctrl + F5 - またはシークレットウィンドウ
パーミッション不足の可能性があります。
chmod 755 ディレクトリ
chmod 644 ファイルブラウザキャッシュをクリアしてください。
Ctrl + F5
パスを確認してください。
<!-- NG -->
/styles.css
<!-- OK -->
./styles.css
styles.cssindex.html が公開ディレクトリに配置されているか確認してください。
public_html直下は触らない(既存サイト破壊防止)- 必要なファイルのみアップする
.envや.gitはアップしないconfig/mail.local.phpを使う場合は本番環境だけに配置する
public_html/
└── isms/
├── index.html
├── contact.php
├── styles.css
├── script.js
├── img/
└── config/
- scpは「差分」ではなく「上書き」
- 毎回必要なファイルは再アップすること
- デプロイ = scp + 権限設定
- 問題の8割は「パーミッション or キャッシュ」
- サブディレクトリではパスに注意