IT星球论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 459|回复: 0

php soap header请求验证

[复制链接]

1999

主题

1

好友

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

优秀会员 助人为乐 辛勤工作 技术精英 多才多艺 优秀班竹 灌水天才 星球管理 宣传大使 灌水之王 财富勋章 版主勋章 动漫勋章 勤奋会员 论坛精英 PS高手 心 8 闪游皮肤 双鱼座 8★8➹ 志愿者 乖

发表于 2015-12-2 12:55:17 |显示全部楼层
PHP soap header请求验证  
一、客户端
1、使用类进行HEAD验证

  1.   /**
  2.     * 图片上传SOAP_CLIENT
  3.     *
  4.     */
  5.     function upimg_soap_client(){      
  6.         try{
  7.             //声明head验证类
  8.             $soap_cls = new soap_head_cls('abc', '123');
  9.            
  10.             //声明SOAP客户端
  11.             $client = new SoapClient(null, array('uri'=> 'http://abc.com', 'location' => 'http://abc.com/webserver/upimg_webserver.php', 'trace' => true));
  12.            
  13.             //声明SOAP变量,为对象模式           
  14.             $soap_var = new SoapVar($soap_cls, SOAP_ENC_OBJECT, 'proving_user', 'http://abc.com');      
  15.             $header = new SoapHeader('http://abc.com', 'proving_user', $soap_var, true);               
  16.            
  17.             //head请求,验证
  18.             $client->__setSoapHeaders(array($header));

  19.             //客户端请求
  20.             $call_val = $client->__soapCall('upimg', array());
  21.         } catch(SoapFault $e){
  22.             //客户端异常
  23.            
  24.             echo $e->getMessage();
  25.             exit;
  26.         }
  27.     }

  28.     /**
  29.     * soap_head类
  30.     */
  31.     class soap_head_cls{
  32.         var $name;      //账户
  33.         var $pwd;       //密码
  34.         function __construct($name, $pwd){
  35.             $this->name = $name;
  36.             $this->pwd = $pwd;
  37.         }
  38.     }
复制代码
2、使用数组进行HEAD验证
  1. /**
  2.     * 图片上传SOAP_CLIENT
  3.     *
  4.     */
  5.     function upimg_soap_client(){      
  6.         try{                       
  7.             //声明SOAP客户端
  8.             $client = new SoapClient(null, array('uri'=> 'http://abc.com', 'location' => 'http://abc.com/webserver/upimg_webserver.php', 'trace' => true));
  9.            
  10.             //声明SOAP变量,为数组模式
  11.             $soap_var = array('name' => 'abc', 'pwd' => 123);
  12.             $header = new SoapHeader('http://abc.com', 'proving_user', $soap_var, true);               
  13.            
  14.             //head请求,验证
  15.             $client->__setSoapHeaders(array($header));

  16.             //客户端请求
  17.             $call_val = $client->__soapCall('upimg', array());
  18.         } catch(SoapFault $e){
  19.             //客户端异常
  20.            
  21.             echo $e->getMessage();
  22.             exit;
  23.         }
  24.     }

  25. 二、服务器端

  26.     define('LOGIN_DOMAIN', 'abc.com');
  27.     define('LOGIN_ACCOUNT', 'abc');
  28.     define('LOGIN_PWD', '123');
  29.    
  30.    
  31.     /**
  32.     * 图片上传类
  33.     */
  34.     class img_upload{
  35.       
  36.         //是否登录状态
  37.         private $is_login = false;
  38.       
  39.         //异常    1域错误    2账户错误       3密码错误       4账户不存在或不是数组       0登录成功
  40.         private $exception;
  41.    
  42.         /**
  43.         * 验证用户
  44.         *
  45.         * @param mixed $user    用户数组      
  46.         */
  47.         function proving_user($user){
  48.             if(!$user || !is_array($user)){
  49.                 $this->exception = 4;
  50.             }
  51.            
  52.             if(strtolower($user['domain']) != LOGIN_DOMAIN){
  53.                 $this->exception = 1;
  54.                 return;
  55.             }
  56.            
  57.             if(strtolower($user['account']) != LOGIN_ACCOUNT){
  58.                 $this->exception = 2;
  59.                 return;
  60.             }
  61.            
  62.             if($user['pwd'] != LOGIN_PWD){
  63.                 $this->exception = 3;
  64.                 return;
  65.             }
  66.            
  67.             $this->exception = 0;
  68.         }
  69.       
  70.         /**
  71.         * 上传图片
  72.         *
  73.         * @param mixed $img_ary     图片数组
  74.         */
  75.         function upimg($img_ary){
  76.             if($this->exception > 0){
  77.                 return $this->exception;
  78.             }
  79.         }
  80.     }      
  81.    
  82.     $soap_server = new SoapServer(null, array('uri' => 'http://abc.com'));
  83.     $soap_server->setClass('img_upload');   
  84.     $soap_server->handle();
复制代码
php soap header请求验证  

该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

回顶部