Php Wialon远程API登录

Php Wialon远程API登录,php,session,request,Php,Session,Request,我的代码: <?php if(isset($_GET['login']) && isset($_GET['login']) && isset($_GET['password'])){ $_login_url = "http://testing.wialon.com/wialon/ajax.html?svc=core/login&params={user:%s,password:%s}"; $login = $_GET['

我的代码:

<?php
   if(isset($_GET['login']) && isset($_GET['login']) && isset($_GET['password'])){
      $_login_url = "http://testing.wialon.com/wialon/ajax.html?svc=core/login&params={user:%s,password:%s}";
      $login = $_GET['login'];
      $password = $_GET['password'];    
      $handle = fopen(sprintf($_login_url, $login, $password), "r");
      $line = fgets($handle);
      fclose($handle);
      $responce = explode(",",$line);
      if(count($responce) < 2) {
         echo "Invalid user or password";
      } else {
         $sessid = explode(":",$responce[1]);
         $lastid = str_replace("\"","",$sessid[1]);
         echo "http://testing.wialon.com/index.html?sid=".$lastid."";
      }
  }
?>

当我在托管脚本的服务器上访问该脚本时,一切都正常工作,会话是用我的IP地址生成的


但当我用另一台计算机访问它时,任何试图登录脚本的用户都会使用服务器IP地址生成会话。我可以用用户的IP地址发送请求吗?

不,不能用用户的IP地址发送请求


但是,您可以通过使用请求头的
HTTP\u X\u FORWARDED\u来指示该请求是代表另一个IP执行的,但是不查看他们的文档(这些文档似乎不公开),我不能确定。你需要问问他们。

这是一条旧线,但是,让我把我的两分钱放进去。有两种新的wialon athentication方法:令牌登录和通过传递athorization散列。第二种方法最适合跨服务器维护会话

//从这里取代币 //您应该拥有wialon提供的现有用户名和SDK访问权限

 $params = "{'token':'$token','operateAs','$username'}";

        $baseurl = "http://hst-api.wialon.com/wialon/ajax.html";
        $url = "$baseurl?params=".urlencode($params)."&svc=token/login";
        $o = json_decode(file_get_contents($url),true);  
        $sid = $o['eid'];