こんにちは、
PHPファイル内に記述しているメールアドレスは、HTMLファイルに記述しているメールアドレスのようにメールアドレスを自動回収するクラウラーに回収されてしまうのでしょうか?
もしそうであれば、PHPファイル内で下記のように変数として使用するメールアドレスを暗号化したいのですが、
>コード
$mail = "example@example.com"
「example@example.com」を暗号化したいです。
>end コード
$mailは、「mail」関数や「send_mail」関数等に格納してメール送信に使用しするので、今回の場合、メールアドレス(example@example.com)がブラウザーに出力される必要はありません。
PHPファイル内のメールアドレスを暗号化する場合、通常のHTMLを16進数に変更するソフトで暗号化(16進数化)すれば良いのでしょうか?
ちなみに、HTMLメールアドレスを16進数に変更するソフトは、「HTMLエンティティ生成」を現在使用しています。
URL:http://ab.jpn.ph/soft/html_rand.html
もしもHTMLを16進数に変更するソフトでのphpファイル内のメールアドレスの暗号化が不可能な場合、PHP内に記述されたメールアドレス(又はPHPコードを)暗号化するソフトや方法などをご紹介下さい。
よろしくお願いします。
キャサリン
No.2ベストアンサー
- 回答日時:
失礼ですが、キャサリンさんはHTML(HTTP)の仕組み、およびPHPスクリプトの動作の仕組みをご存知でしょうか? もしご存知でしたら、ご心配しているようなことは原理的に起こりえないことがお分かりになるはずだと思います。
さきほど私の回答にも書きました通り、通常の設定であれば、PHPスクリプトの中身(ソース)に書いてある何か(例えばご質問の場合、メールアドレス)をブラウザやクローラーが見ることは「絶対に」不可能です。
PHPスクリプトが動作する仕組みをごくごく簡単にご説明しますと、
●クライアント(ブラウザやクローラー)がリクエストを出す(たとえば http://example.com/test.phpにアクセスする)
↓
●そのリクエストを受け取ったWebサーバ(Apacheなど)は、該当するスクリプト(この例の場合はtest.php)を実行する。(実際に処理するのはPHPのモジュールですが)
↓
●実行した結果、何らかの出力があれば、Webサーバはそれを(多くの場合HTMLとして)クライアントに返す。この時点で、はじめてクライアントは何かしらの情報をサーバから得て、何かを画面に表示できるわけです。
上記のような仕組みで動作しているため、2番目の段階(スクリプトが実行される段階)でメールアドレスを出力する命令を出していない限り、スクリプトのソース内に書かれているメールアドレスがクライアントに伝わることは絶対にあり得ません。
もし、上記の説明でご納得されず、どうしても「クローラーがPHPスクリプトのソースを読めるのではないか」という疑いが解けないようでしたら、以下のようなスクリプトをサーバに置いて実験されてみてはいかがでしょうか?
<?php
//↓外部に公開してないメアドなら何でもいいので、書いておく
$test = crawler-test@あなたのドメイン名
?>
もしもこれで、このメアド宛てにスパムが来れば、キャサリンさんのご心配しているような事態が実際に起こった、ということになります。
逆にこれでスパムが来なければ、そのご心配は杞憂だった、ということになります。
なお、
>サーバ側のHTMLファイル内のメールアドレスは暗号化されたもので、そのHTMLファイルがブラウザーに出力されたメールアドレス(正しいメールアドレスとして出力されます。)とは異なります。
↑これにつきましてはちょっと意味が分かりかねます・・・。
最初のご質問で、
>今回の場合、メールアドレス(example@example.com)がブラウザーに出力される必要はありません。
とおっしゃっていたのですから、最終的にブラウザに渡されているHTMLにはメアドが含まれていないはずですよね。
No.3
- 回答日時:
>なぜサーバ側のHTMLファイル内のメールアドレスを暗号化しているとHTMLファイル内のメールアドレスがメールアドレス回収ロボットに回収されずにスパムメールが送られてこないのでしょうか?
についてなんですが、メールアドレス回収ロボットを作ったこともないし、そのプログラムソースを見たこともないのでなんともいえないけども。。。
HTMLファイル内のメールアドレスがメールアドレス回収ロボットに回収されないのは、
HTMLソース内のtestmail@test-des.co.jpという文字列を回収対象にしているだけであって、
(1) testmail@test-des.co.jpを暗号化した、
(2) mailto:testmail@test-des.co.jpとか、
(3) testmail@test-des.co.jpとかは、メールアドレス回収ロボットからすると
メールアドレスでは無いとして、回収対象外としているからなのではないでしょうか。
No.1
- 回答日時:
PHPファイル内のメールアドレスがクローラーに収集されるということは原則としてありえません。
サーバー(Apacheなど)がブラウザやクローラーからPHPファイルへのリクエストを受け取った場合、PHPスクリプトの内容を実行し、その結果出力されたHTMLを渡すだけです。
ですから、自分でメールアドレスをechoなどしていない限り、PHPファイル内のメアドは出力されません。したがってメアドがHTMLとしてブラウザに出力されないのであれば、暗号化する必要もありません。
ただし例外として、サーバーの設定や.htaccessの設定次第では、PHPファイルの内容そのものを出力してしまうことがありますので、ご注意ください。(でも、これは自分で意図的に設定しない限り、通常はそうはならないので、大丈夫だとは思いますが)。詳しくは「php htaccess addhandler」等で検索してみてください。
この回答への補足
nick9090さん
ご回答ありがとうございました。
>メアドがHTMLとしてブラウザに出力されないのであれば、暗号化する必要もありません。
上記の点ですが、私の場合HTMLファイル内のメールアドレスはメールアドレス回収ロボットに回収されないように暗号化(16進数化)しています。つまり、サーバ側のHTMLファイル内のメールアドレスは暗号化されたもので、そのHTMLファイルがブラウザーに出力されたメールアドレス(正しいメールアドレスとして出力されます。)とは異なります。このようにしていると、HTMLファイルのメールアドレスがメールアドレス回収ロボットに回収されずにスパムメールが来ません。
もしもnick9090さんがおっしゃるようにクラウラーは出力されたHTMLだけを見ている(回収する)のならば、サーバ側のHTMLファイル内のメールアドレスを暗号化していても出力されたHTMLのメールアドレス(正しいメールアドレス)を回収してスパムメールが送られてくるはずですが、なぜサーバ側のHTMLファイル内のメールアドレスを暗号化しているとHTMLファイル内のメールアドレスがメールアドレス回収ロボットに回収されずにスパムメールが送られてこないのでしょうか?
メールアドレス回収ロボットが出力されたHTMLのメールアドレス(正しいメールアドレス)ではなく、暗号化しているサーバ側のHTMLファイル内のメールアドレスを回収しているからではないのですか?もしそうならば、PHPファイル内のメールアドレスも暗号化の必要があるように思えますが?
ご教授下さい。
キャサリン
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(スマートフォン・携帯電話・VR) 某信用金庫の通帳アプリ 4 2023/04/09 11:01
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP 値の取り出し方について教えて下さい。 1 2023/03/31 13:30
- iCloud AppleIDのパスワードを忘れました。 AppleIDを作成した際に登録した電話番号は現在電話番号 4 2022/04/03 17:49
- iPhone(アイフォーン) Apple IDをメアドから携帯電話番号に変更可能? 今Apple IDとしてメールアドレスを使って 3 2023/01/12 07:03
- Facebook FACEBOOKのアカウント乗っ取りについて 1 2022/05/06 06:36
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
さくらレンタルサーバーでPHPが...
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
.phpファイルが、表示されない
-
use と requireの違いは?
-
session_start()でwarningが表...
-
Quixplorerがうまく動作しない...
-
コマンドプロンプト エラー
-
PHPを使ってのサーバ上ファイル...
-
phpで別のファイルの変数に代入...
-
CakePHP2のCronでのShellを使う...
-
PHP+MySQL SQL文を外部ファイル...
-
cronで動かすと保存されなくなる
-
file(), file_get_contents(), ...
-
URLが.PHPってどういう...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
Subversionのリポジトリの削除
-
拡張子php画像をjpg画像等に変...
-
PHPのif文でその処理を途中で抜...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
.phpファイルが、表示されない
-
URLが.PHPってどういう...
-
サイトのphpソースコードを表示...
-
HTMLに埋め込んだPHPがうまく出...
-
PHP+MySQL SQL文を外部ファイル...
-
use と requireの違いは?
-
さくらレンタルサーバーでPHPが...
-
PHPファイルの中身が見られるこ...
-
fputs()はfwrite()のエイリアス...
-
プロパティファイルの読み込み...
-
コマンドプロンプト エラー
-
PHPを使ってのサーバ上ファイル...
-
htmlspecialcharsが機能してい...
-
phpmailerで送れない添付ファイ...
-
別のドメインのファイルをrequire
-
[PHP+XML]PHPで動的に出力す...
-
phpinfoの内容が見れない
-
CakePHP2のCronでのShellを使う...
おすすめ情報