2014-10-11 234 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不會接受任何其他域的表單提交以防止釣魚攻擊和其他惡意行爲。