Webpy 自動簽到系統 支援多使用者 多平臺簽到

我叫以賞發表於2021-02-23

介紹

使用 PHP(前端)+ Python3(自動簽到/後端)進行多使用者多工的自動簽到。
此專案涉及語言有:HTML、JavaScript、CSS、SQL、PHP、Python3。
目前支援簽到平臺:Acfun(自動領取每日香蕉)、BiliBili(每日硬幣直播中心自動簽到)、愛奇藝(每日簽到)、網易雲音樂(自動簽到刷單)、QQ音樂(每日自動簽到領積分)。在一天的凌晨會自動發郵件提醒。
支援使用者註冊,使用者郵箱驗證。

更新日誌

2021/2/23

[=]Python 修正資料庫連線失敗BUG

[+]PHP setting_page.php更新儲存資料前臺提交

[+]PHP 設定使用者試用到期 改動 core/loader.php

軟體架構

大致架構為:Python3負責自動簽到;PHP用於前臺的使用者註冊、任務建立;Python與PHP通過SQL資料庫互相交換資料。

演示網址

專案演示網址: blog.zhangyishang.top/Toolbox/webpy

參考的公開原始碼

在設計程專案(程式)時,我們參考了各路大佬原始碼,並進行改變應用到我們的專案,參考列表如下:

  1. (Python呼叫SQL資料庫)參考官方pymysql文件:www.python.org/dev/peps/pep-0249
  2. (Python反爬網易雲方法1)來自Github公開原始碼:github.com/SakurajimMai/wyymusic
  3. (Python反爬網易雲方法2)來自簡書使用者偽文藝boy公開的文章:www.jianshu.com/p/f3764544f6d6
  4. (Python反爬QQ音樂獲取GTK值方法)來自部落格園使用者jqdemo公開的文章:www.cnblogs.com/jqdemo/p/3139794.h...
  5. (Python庫AES加密方法)來自CSDN使用者Cosmop01itan的轉載文章:blog.csdn.net/CosmopolitanMe/artic...
  6. (HTML頁面程式碼)來自Bootstrap 4:www.layoutit.com/build
  7. (PHP部分寫法)參考:Wordpress、CSDN、菜鳥教程、部落格園、百度經驗、簡書等。(無法找到原地址,這裡表示最誠摯的感謝!)
  8. (PHP傳送郵件)PHPMailer,參考菜鳥教程:www.runoob.com/w3cnote/php-phpmail...

安裝教程

  1. 克隆此此倉庫到電腦上,或者下載此倉庫的全部檔案。確保一下檔案在克隆的資料夾內。
    1
  2. 搭建PHP環境7.3.4其它版本未經測試(可以使用寶塔皮膚、phpstudy等),選擇一個任意的資料夾(下稱“網站目錄”),將PHP資料夾內所有檔案全部拷貝到網站目錄中。
    2
  3. 建立一個SQL資料庫將,SQL資料夾中的資料用管理工具(phpMyAdmin、HeiDiSQL、SQL_Font等)匯入到這個資料庫內,資料庫參考版本5.7.26其它版本未經測試。
    3
  4. 確保資料庫中含有webpy_log表、webpy_user表、webpy_part表和webpy_system表。分別註釋如上圖。開啟webpy_system表,修改其中資料:
    4
  5. 請配置好smtp發信,Python與PHP都使用此賬戶發信!開啟網站目錄,再開啟 core/loader.php 檔案,進行配置PHP檔案設定:
    5
  6. 說明:變數$emailKey是Python與PHP通訊介面,下方會講(非必要)。儲存檔案後,web訪問此路徑,若出現登入介面則PHP配置完畢。
    6
  7. 預設管理員賬號密碼均為 admin ,用此賬號登入,看到如下介面並一一測試每個介面確保PHP前端正常執行。
    7

特別說明:由於目前版本並未更新PHP使用者管理,若要修改使用者組,請開啟資料庫中的webpy_user表,修改level項,一一對應如下:-1 管理員;0 未啟用使用者;1 普通使用者;2 試用高階使用者; 3 高階使用者(試用功能尚未新增)
7.5

  1. 配置Python環境。此原始碼執行在Python3上,程式設計使用Python3.9.0,測試在Python3.7與Python3.8也可以使用執行,其它Python3版本自行確認。開啟Python資料夾下的Webpy.py安裝以下庫並配置其中的資料庫資訊與發件設定。
    8
    8.5

  2. 配置完畢後執行Python出現如下輸出則配置成功,且目標郵箱將會出現一封郵件。若為出現郵件或Python輸出報錯請重新檢測填寫資訊。

[2021-02-21 17:15:06] system> 開始檢查程式執行......
[2021-02-21 17:15:06] system> 正在連線資料庫......
[2021-02-21 17:15:06] system> 正在測試資料庫讀寫......
[2021-02-21 17:15:06] system> webpy_log: 資料總數 1......OK!
[2021-02-21 17:15:06] system> webpy_part: 資料總數 0......OK!
[2021-02-21 17:15:06] system> webpy_system: 資料總數 15......OK!
[2021-02-21 17:15:06] system> webpy_user: 資料總數 1......OK!
[2021-02-21 17:15:06] system> Change Data: webpy_system -> test_config  ......OK!
[2021-02-21 17:15:06] system> 正在測試網站連線......
[2021-02-21 17:15:07] system> 正在測試發郵件......
[2021-02-21 17:15:08] system> 郵件API返回詳情: {'message': 'success', 'To': 'xxx@xxx.com'}
[2021-02-21 17:15:08] system> 測試傳送郵件成功!
[2021-02-21 17:15:08] system> 自檢已完成!所用時間: 2359.55 ms
[2021-02-21 17:15:08] system> 進入程式迴圈......
  1. Python進入迴圈後,等待每日簽到。

使用說明

  1. Python傳送郵件說明
    Python傳送郵件是使用PHP中的一個API介面進行傳送郵件,此介面存在於 core/email.php 下,當然你可以自行修改Python中發郵件的方式使用Python中的smtplib庫,但是太麻煩了,乾脆使用PHP吧。這裡奉上想要自行修改的方法,找到170行左右的send_email()函式,請不要修改函式中引數的位置(除非你想大改特改)。找到628行左右的if emailDing and emailTest判斷語句,將判斷語句進行修改,確保通過自檢。
  2. Webpy等級制度說明
    目前版本的等級制度並不完善,試用高階會員與高階會員並未實現,目前註冊預設為普通使用者每個專案僅可以建立3個任務,目前使用者不支援找回密碼功能。
  3. 安全性說明
    Python與PHP呼叫SQL資料庫時會進行加密,PHP加解密函式在 core/loader.php 內,Python加解密函式在原始碼內,均為 encode_string()/decode_string() ,使用者密碼使用md5加密與加解密函式無關。更多BUG正在修改。。。。。。
  4. 檔案說明
    根目錄的檔案對應的作用為:

index.php 引導使用者檔案

home_page.php 自動簽到首頁

log_page.php 日誌頁面檔案

setting_page.php 程式設定頁面

user_page.php 使用者設定頁面

login_page.php 登入頁面

register_page.php 註冊頁面

core(dir) 核心檔案

css(dir) css樣式表

js(dir) js檔案

參與貢獻

  1. 以賞的祕密小屋 blog.zhangyishang.top
  2. 碼雲倉庫 gitee.com/wojiaoyishang/webpy-auto...
  3. LearnKu社群
  4. 所有制作參考資料的同學。
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章