我使用此函数来验证用户的twitter凭据。它运行在两个不同的web服务器上。
<?
function twitauth($username, $password){
if(@file_get_contents("http://".$username.":".$password."@twitter.com//account/verify_credentials.xml")){
return "1";}
else {
return "0";}
}
?>
在我的网络服务器上,它工作得很好。另一个总是返回1!即使密码是故意错误的。
究竟是什么会导致一个服务器做一件事,而另一个服务器做另一件事?
最佳答案
当我使用用户名/密码的任意组合访问该url时,它总是返回一些内容,无论是auth成功还是失败。file_get_contents()只在无法打开请求的url时返回false。
在我看来,为了使您的功能成功,您必须解析返回值以确定AUTH是否成功。