開啟輔助瀏覽

Besv 技術討論區

 找回密碼
 立即註冊
搜尋
查看: 813|回覆: 2

可用的Discuz FB登入,歡迎有志一同的開發者一起來修改

[複製連結]
發表於 2019-7-7 01:20:58 | 顯示全部樓層 |閱讀模式
很早之前就想要FB登入的插件,可惜Google後不是發現不能用,就是收費近乎天價(或者沒有支付寶微信根本買不了)。

偶然就發現這款程式,用的方式是走FB的Javascript SDK,於是就載下來試試看

可惜這程式有幾個壞處,不熟悉Discuz的API我也沒辦法改:
1. FB登入的按鈕要自己去改模板或自己寫成插件,我是直接改模板。
2. 新用戶註冊時沒辦法選擇自己的用戶名,因為是直接抓FB帳號的First name。
3. 現有用戶如果FB和論壇上登記的Email不一樣,會被判定為新用戶(也就是說程式本身不是綁定帳號而是利用FB做自動登入)
4. callback.php用PHP $_GET模式取得FB回傳的資訊,可能會有安全隱憂,但因為後續都是走Discuz的api做登入,不知道Discuz會不會擋SQL注入
5.

唯一的好處大概是,稍微寫一下Javascript,似乎也可以用Google的API,只要熟悉Javascript用法就好

開源地址:https://github.com/doratown/discuz_fb_login

歡迎有志一同的開發者,一起來完善
發表於 2019-9-3 13:00:17 | 顯示全部樓層
Hello,我是剛加入BESV的新成員,最近在幫自己的站找fblogin整合的solution(原本是用darfblogin的外掛),無意間看到您的文章,很受用!謝謝!

另外想跟您討論一下,callback.php直接從fbapi.html取回的是fb的name跟email,如果有人知道管理員的email,可能會偽造封包就能直接getshell了,也許這一段要改成fbapi.html直接回傳token給callback.php,再從後端去要name跟email是否比較安全呢?

我會先拿您的範例實做上面那一段看看,有成果的話再分享上來^^
 樓主| 發表於 2019-9-15 00:50:07 | 顯示全部樓層
小侯侯 發表於 2019-9-3 13:00
Hello,我是剛加入BESV的新成員,最近在幫自己的站找fblogin整合的solution(原本是用darfblogin的外掛),無 ...

你好,是的,的確是有這類漏洞沒錯,所以我沒有繼續使用

您提的建議的確也是大部分Discuz登錄插件的做法,先在數據庫做好數據表,使用者綁定的時候再儲存token,如token不存在直接視為新使用者註冊。

不過小弟對Discuz插件嵌入的寫法不太熟悉,所以目前還沒有實作過

期待您的成果
您需要登入後才可以回文 登入 | 立即註冊

本版積分規則

黑名單|客戶連結|客服信箱|客服系統

Copyright © 2013 - 2019 Besv Technology Forum

專業網站主機服務

Powered by Discuz!

快速回覆 返回頂部 返回列表