6

各マシンでセットアップされている cronjobs に基づいて、1 日を通してさまざまな時間に複数の異なるマシンでヒットされるサーバーに PHP スクリプトが置かれています。リクエストを行っているマシンの IP を知りたいのですが、ブラウザによってリクエストが行われた場合、以下が正常に実行されます。

<?php
  ...
  echo $_SERVER['REMOTE_ADDR'];
  ...
?>

ただし、CURL またはその他のコマンド ライン ツール (lynx を含む) を使用して作成すると、次のゴミが表示されます。

2701:5:4a80:7d:2ee:8eff:5e61:801d

私が行った調査によると、これは、Apache が$_SERVER、コマンド ラインから行われた受信した要求の変数を設定していないことが原因です。

Cron ジョブでの REMOTE ADDR の問題

コマンドラインリクエストを取得して$_SERVER変数を適切に処理する方法を知っている人はいますか?それとも別のルートに行く必要がありますか?

4

1 に答える 1

10

これはゴミではありません。正しいリモート アドレスです。誰かが IPv6 を使用してサーバーにアクセスしました。

于 2012-09-24T18:52:29.933 に答える