1

次のようなフォームのフィールドがあります。

<input type="text" name="email" />

PHP を使用して、このフィールドに加えて他のフィールドを含むフォームの有効性を確認しています。有効性チェックが失敗した場合は、値をセッションに保存し、フォームを再度出力してエラー メッセージを表示し、フォームの値を事前入力します。

「person@example.com」などの電子メールを追加すると、フォームが無効になり、「person@example.com」が JS に置き換えられます。

 <script type='text/javascript'> <!-- var prefix = 'ma' + 'il' + 'to'; var path = 'hr' + 'ef' + '='; var addy34269 = 'person' + '@'; addy34269 = addy34269 + 'example' + '.' + 'com'; document.write('<a ' + path + '\'' + prefix + ':' + addy34269 + '\'>'); document.write(addy34269); document.write('<\/a>'); //-->\n </script><script type='text/javascript'> <!-- document.write('<span style=\'display: none;\'>'); //--> </script>This email address is being protected from spambots. You need JavaScript enabled to view it. <script type='text/javascript'> <!-- document.write('</'); document.write('span>'); //--> </script>

言うまでもなく、これは私が望んでいるものではありません。これは Chrome と Firefox で発生します。他の人についてはわかりません。フォームの無効化後にブラウザが電子メールを置き換えないようにするにはどうすればよいですか?

str_replace を使用して電子メールのように見えないようにし、JS を使用して別の文字列置換を行って元の値に戻すことを考えていましたが、可能であれば JS なしでこれを実行したいと考えています。何か案は?

4

3 に答える 3

1

これは、最高のセキュリティ設定で CDN として cloudflare を有効にしている場合に発生します。Cloudflare アカウントにログインして、設定を中程度に変更できます。

また、joomla を使用している場合は、置き換えられるメール アドレスの前に {emailcloak=off} を追加できます。例: {emailcloak=off} youremail@emailofyoursite.com

通常、これで問題が解決します。

于 2013-03-18T21:04:43.467 に答える
1

これは前に見たことがあります。私は自分のサイトで CloudFare を使用しており、平文の電子メール アドレスは、スパムボットによる盗用を防ぐためにエンコードされています。Web ホストを保護するのに役立つ同様のサービスがあるかもしれません。

 <script type='text/javascript'> <!-- var prefix = 'ma' + 'il' + 'to'; var path = 'hr' + 'ef' + '='; var addy34269 = 'person' + '@'; addy34269 = addy34269 + 'example' + '.' + 'com'; document.write('<a ' + path + '\'' + prefix + ':' + addy34269 + '\'>'); document.write(addy34269); document.write('<\/a>'); //-->\n </script><script type='text/javascript'> <!-- document.write('<span style=\'display: none;\'>'); //--> </script>This email address is being protected from spambots. You need JavaScript enabled to view it. <script type='text/javascript'> <!-- document.write('</'); document.write('span>'); //--> </script>

コードを注意深く読むと、「このメール アドレスはスパムロボットから保護されています」と表示されていることがわかります。

編集: これはサーバー側の編集であるため、ページを要求するすべてのブラウザーがその結果を取得します。

于 2012-05-09T19:59:34.357 に答える
1

あなた(またはあなたのホスト)がJoomlaを使用しているように!ここで説明するように、「メールクローキング」プラグインを完全に無効にするか、単一のメールのクローキング機能を無効にすることができます

于 2012-05-09T20:08:08.123 に答える