2014-10-11 160 views
0

当我使用下面的代码运行html代码时,登录成功。Facebook通过PHP登录

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<script language="JavaScript" type="text/javascript"> 
    function loginpage_onload() { 
    document.forms[0].submit(); 
    } 

</script> 
</head> 
<body onload="loginpage_onload();"> 
<form action="https://www.facebook.com/login.php" method="post"> 
<input type="hidden" name="lsd" value="cdfvrtg" autocomplete="off" /> 
<input type="hidden" name="email" id="email" value="mymail.com"/> 
<input type="password" name="pass" id="pass" class="inputpassword" value="mypass" tabindex="1"/> 
</form> 
</body> 
</html> 

但是,当我在.php页面中复制同样的东西并运行php时,它不会发生。 提示:“为了您的安全,切勿在不在Facebook.com上的网站输入您的Facebook密码”

为什么它在.html中而不在.php中?

+0

我不知道为什么它在HTML中,而不是在PHP中,但它也不能在HTML中工作。为什么?因为在将数据发送到Facebook登录之前,您可以使用JavaScript保存用户的输入,因此这是一个巨大的安全问题。所以Facebook不会允许你以这种方式登录用户。查看https://developers.facebook.com/docs/facebook-login/v2.1获取Facebook登录解决方案。 – Adrian 2014-10-11 14:29:55

回答

1

您试图以目前的形式对Facebook和您的网站的最终用户构成安全风险,因此被禁止。

更有可能您有合法理由让您的用户从您的网站安全地登录到Facebook。在这种情况下,请检查Facebook Login文档中的Javascript SDK,以确保向正确的方向推送。

为了详细说明为什么它被禁止,Facebook不会接受任何其他域的表单提交以防止钓鱼攻击和其他恶意行为。