ファーストステップ様、お世話になっております!
以前別件で問い合わせさせていただきまして、その節はご対応ありがとうございました。
今回お問い合わせさせていただきたいのが、添付ファイルのように、
送られて来たメッセージの「項目名」のみ文字化け??するといった現象が何度か起こりまして…。
文字化けというよりはタグ情報??なんでしょうか。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Company Name </font></font>
個人情報が含まれるのでモザイクをかけておりますが、問い合わせ本文にはこういった現象は起こりません。
弊社では外国のお客様からのお問い合わせもあり、今までこの現象が起きているのは海外のお客様の問い合わせのみになります。
メルフォについては日本語サイト英語サイトともに共有しています。
内容は理解できるので、大丈夫といえば大丈夫なんですが…
もし対処方法をご存知でしたら、教えていただけると助かります。
症状を確認いたしました。
このような現象が起きる原因は以下のような理由からです。
【このメールフォームプログラムの仕様について】
1、ご存知のように、このメールフォームではHTML上の各項目名を取得し、送信されるメール本文内に記載する仕組みとなっております。
2、そのような仕組みのおかげで、プログラム設置者は項目名に関してはHTMLファイルだけを編集すればよく、PHPファイル側(config.phpなど)ではメール本文に記載される項目名の設定作業が不要となっています。
【フォーム入力者側の状況について】
1、Chromeでページの何もない部分で右クリックメニューを出すと、「日本語に翻訳」というメニューがあります。
2、そのような機能によって翻訳された部分は、表示しているページのHTMLをそのブラウザ上で書き変えている形となります。
3、その結果、項目名の、
・「会社名」は「Company Name」に、
・「名前」は「Name」に、
・「返信方法のご希望」は「hope of returning method」に、
上記のようにHTMLが書き変えられます。(添付画像参照)
その際、前後にHTMLタグも自動挿入されるようです。
4、そのようにHTMLが書き変えられた状態でフォームを送信すると、メールフォームプログラムで自動取得される項目名は以下のようになってしまいます。
<font style="vertical-align: inherit;">Company Name</font>
【結論】
HTMLやCSS、JavaScriptというものは、ブラウザでページ表示後にクライアント側(閲覧者側)で自由に書き変える(改ざんする)ことが可能です。
これはWebの仕様なので、当サイトのプログラムに限らず、どのWebサイトでも避けることができません。
最初に説明しましたように、このメールフォームプログラムではクライアント側(閲覧者側)のブラウザで表示されているHTMLの文字列(各項目名)を取得してメール本文に使用しているため、その文字列が改ざんされていればメールに記載される項目名も改ざんされた文字列となってしまいます。
というわけで、今回のような現象はこのメールフォームプログラムの仕様上、避けることができません。ご了承ください。
HTMLを改ざんされてフォーム送信されたとしても脆弱性が発生しないように作ってありますので、その点についてはご安心ください。
ファーストステップ たに様
ご回答ありがとうございます!
そういうことだったんですね…!
外国からの問い合わせばかりで現象が起きるので、私自身も翻訳機能
が怪しいなとは思ったのですが…。
どういった仕組みで翻訳したものが表示されるか等、細かいところまで考えたことがありませんでした(汗)
たに様のとてもわかりやすいご説明で理解することが出来ました。
心の底から感謝です。
対策として、完全英語版フォームを作って設置し、翻訳されないようにする…等ですね。外国人担当者と相談してみます。
この度も、ご丁寧にご対応いただきまして、本当にありがとうございました!