Php 如何使用XMLRPC::客户端身份验证
我需要发出一个必须经过身份验证的XMLRPC请求,并且在XMLRPC的身份验证端发现了有限的文档。最好的办法是什么?现在我正在使用下面的代码,但仍然会遇到身份验证失败。是否有其他方法指定客户端,然后调用辅助身份验证方法Php 如何使用XMLRPC::客户端身份验证,php,ruby,authentication,xml-rpc,Php,Ruby,Authentication,Xml Rpc,我需要发出一个必须经过身份验证的XMLRPC请求,并且在XMLRPC的身份验证端发现了有限的文档。最好的办法是什么?现在我正在使用下面的代码,但仍然会遇到身份验证失败。是否有其他方法指定客户端,然后调用辅助身份验证方法 client = XMLRPC::Client.new(@xmlrpc_url, "/xmlrpc.php", "443", nil, nil, @username, @password, true, 900) …我正在使用下面的代码,但身份验证仍然失败 仔细检查远程Web服务
client = XMLRPC::Client.new(@xmlrpc_url, "/xmlrpc.php", "443", nil, nil, @username, @password, true, 900)
…我正在使用下面的代码,但身份验证仍然失败
仔细检查远程Web服务器是否正在接受资源的HTTP基本身份验证/xmlrpc.php
,并进一步接受您的@username
和@password
根据,RPCclient.call(“bwizzy”)
的XMLRPC咒语将使用基本身份生成如下内容:
POST /xmlrpc.php HTTP/1.1
User-Agent: XMLRPC::Client (Ruby 1.9.1)
Content-Type: text/xml; charset=utf-8
Content-Length: 88
Connection: keep-alive
Authorization: Basic c3RhY2s6b3ZlcmZsb3c=
Accept: */*
Host: localhost
<?xml version="1.0"><methodCall><methodName>bwizzy</methodName></params></methodCall>
POST/xmlrpc.php HTTP/1.1
用户代理:XMLRPC::Client(Ruby 1.9.1)
内容类型:text/xml;字符集=utf-8
内容长度:88
连接:保持活力
授权:基础c3RhY2s6b3ZlcmZsb3c=
接受:*/*
主机:本地主机
bwizzy
(请不要向我抱怨那些标题的顺序——这就是我在网上看到的!)
现在,XML-RPC本身不提供身份验证,因此您有几个常规选项:
HTTP授权方案,就像您当前使用的一样。受信任的客户端证书。Cookie身份验证令牌。等等
然而,典型的web身份验证技术具有共同的风险。在这里四处看看,以获得更多的指导
例如,RPC调用
bwizzy
可能将用户名和密码作为参数。或者,登录RPC函数可能会生成一个有时间限制的令牌,用作Cookie。
这种方法是侵入性的——现在您的RPC调用必须具有身份验证意识——并且容易出错——现在您必须自己实现身份验证
XML RPC调用本身可以是有签名的,也可以是有签名和加密的,例如,ALASOAP的
查看IXR,它显示了如何进行基本身份验证,但看起来不太安全这方面有什么进展吗?希望做同样的事吗