よくある原因
AI生成HTMLが会社ドメイン認証と衝突する主なパターンは「独自認証チェック(JavaScriptでメールアドレスを検証するコード)がギガサイト便の認証フローより先に実行されてページがリダイレクトされる」ケースだ。受信者はドメイン認証を通過したつもりなのに、HTML側の独自チェックに引っかかってアクセスできないという状況が生まれる。
もう一つはAIが「セキュリティのために」と考えてContent Security Policy(CSP)のmetaタグを追加するパターンだ。CSPがギガサイト便の認証スクリプトのドメインをブロックすると、認証処理が完了せずページが表示されないことがある。CSPは便利な仕組みだが、ホスティング環境の仕様と合わせて設定しないと逆効果になる。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
自分側で確認すること
AIへのプロンプトに「このHTMLはドメイン認証付きのホスティングサービスで配信される。独自の認証ロジック、メールアドレス検証スクリプト、Content Security Policyのmetaタグ、window.location.replaceによるリダイレクトはすべて除外すること」と明示する。これだけで認証妨害コードの生成を大幅に抑制できる。
生成されたHTMLに対して`<meta http-equiv="Content-Security-Policy"`と`window.location`の2文字列をテキスト検索で確認する。CSPメタタグがある場合は行ごと削除し、window.locationがある場合は何をしているのかコメントで説明させて不要なら除去する。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
相手側で確認すること
受信者から「会社メールで認証を試みたが403エラーが出る」という報告を受けた場合、ブラウザの開発者ツールのConsoleタブに「Refused to load script」などのCSPエラーが出ていないかを確認させる。CSPブロックが原因の場合は、HTMLからCSPメタタグを削除して再アップロードすることで解決できる。
「認証画面は表示されるがボタンを押しても何も起きない」という報告はJavaScriptのエラーが多い。受信者にConsoleタブのエラーをスクリーンショットで送ってもらうか、エラーメッセージをテキストで伝えてもらうと根本原因を特定しやすくなる。AI生成コードのどの行が原因かが分かれば修正も速い。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
再発防止の運用
チームでAI生成HTMLを使う場合は「ドメイン認証環境用プロンプト」を共通テンプレートとして整備し、GithubのWikiやNotionに掲載する。テンプレートには禁止コードのリストだけでなく「なぜそれが問題になるか」の理由も1行ずつ書いておくと、新メンバーが文脈を理解したうえで使えるようになる。
AIが毎回異なるアウトプットを出す性質上、同じプロンプトでも禁止したコードが生成されることはある。アップロード前の自動チェックスクリプト(CSPメタタグとリダイレクトスクリプトを検出するgrep)を作成してCI/CDに組み込むか、アップロードフォームの前のステップとして実行することで、問題のあるHTMLが本番に出ることを防ぐ。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
よくある質問
AIにCSPを入れるなと言ったのに繰り返し生成されてしまいます。効果的な伝え方は?
「Content-Security-Policyというmetaタグは絶対に使わないでください。これがあるとホスティング側の認証スクリプトがブロックされます」と理由を付けて伝えると守られやすくなります。それでも生成される場合は後処理スクリプトで自動削除するのが確実です。
会社ドメイン認証とSSO(シングルサインオン)を組み合わせることはできますか?
ギガサイト便のドメイン認証はメールアドレスのドメインを確認する仕組みで、SSOとは独立しています。SSOと連携したい場合はギガサイト便の法人プランやAPIの対応状況をサポートに問い合わせてください。
HTMLをアップロードしてから認証エラーが出るまで、時間差があることがありますか?
通常は即時に動作しますが、CDNのキャッシュが残っていると古いHTMLが表示されることがあります。URLに`?v=2`のようなクエリパラメータを付けてアクセスするとキャッシュを回避でき、新しいHTMLの動作を確認できます。