2018-12-01

Proxy経由の接続元IPアドレスを取得しクリップボードに(PHP/curl/clip利用)

Proxy経由で繋がっていてもISPの実IPアドレスを取得したかったので、PHPで返す簡単なソース。
私の環境下ではhttps接続の場合、実IPで返すのでそのままリモートアドレスだけ取得しています。
また、Curl・clipを使ってWindowsのクリップボードにコピーさせます。

PHPソース(Webサーバーへ)
<?php
if($_SERVER['HTTPS']=='on'){
 $accessip = $_SERVER["REMOTE_ADDR"];}
  else{
    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $accessipArr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
    $accessip = $accessipArr[0];
    $accessip = strpos($accessip, ":") ? strstr($accessip, ":", true) : $accessip;
    }
      else{
      $accessip = $_SERVER["REMOTE_ADDR"];}
    }
echo $accessip;
?>
  1. アクセスすると、IPアドレスの文字だけ返します。

IPアドレスをクリップボードに貼るためのバッチファイル(ローカルへ)
@echo off
curl -s "http://example.com/myip.php" | clip
  1. PHPファイルは、myip.phpとして置いてます。
  2. curlはpathを通すか、フルで指定。
  3. curlのsは、silentオプションです。
  4. Windows標準のclip.exeを使って、curlの結果をパイプでクリップボードに受け取ります。

0 コメント:

コメントを投稿