首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

文章推薦系統(一):系統架構設計與資料庫規劃

     編輯:PHP 綜合知識

專案緣起

為豐富個人站點「斑竹園」內容並減輕維護負担,開發一套「免註冊、互惠互利」的文章推薦系統:推薦者提交文章並可指定一張 400×60 像素的廣告圖連結,每次文章被閱讀即等於一次曝光。

系統檔案架構

檔案職責
appre.htm推薦文章表單(前端自行製作)
appre.php處理表單提交、驗證、寫入資料庫
article.php分頁顯示文章列表
articledisp.php顯示單篇文章完整內容與推薦者廣告

資料庫設計 article 表

CREATE TABLE article (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(15),           -- 推薦者姓名
    webname VARCHAR(255),       -- 推薦者網站名稱
    webadd VARCHAR(255),        -- 推薦者網站網址
    weblogo VARCHAR(255),       -- 廣告圖片連結(建議 400×60)
    articlename VARCHAR(255),   -- 文章標題
    articleauthor VARCHAR(255), -- 文章作者
    articlemsg LONGTEXT NULL    -- 文章內容
);

核心業務規則

  1. 免註冊:僅需填寫表單即可提交,降低門檻。
  2. 內容長度檢核:文章內容需超過 50 個字元,防止灌水。
  3. 姓名必填:推薦者姓名至少 2 字元。
  4. 標題唯一:相同標題拒絕重複收錄。
  5. 姓名唯一:同一姓名僅能推薦一篇(可依需求調整)。
  6. 廣告回饋:weblogo 欄位儲存圖片連結,顯示於文章底部。

安全性與擴充考量

  • XSS 防護:所有輸出經 htmlspecialchars();內容儲存前可用 HTMLPurifier 過濾。
  • SQL 注入:全面採用預處理語句(mysqli_prepare/PDO)。
  • 垃圾內容過濾:引入關鍵字黑名單、Akismet API 或機器學習分類器。
  • 圖片驗證:檢查 weblogo 為有效圖片 URL、尺寸符合規定、HTTPS 協定。
  • 管理後台:需補充審核、編輯、刪除、置頂、分類等功能。
  • 搜尋與分類:加入 category, tags 欄位,支援全文檢索。

現代化架構建議

  • 採用 MVC 框架(Laravel、Symfony、CodeIgniter)分離關注點。
  • 引入 資料庫遷移 管理 schema 版本。
  • 使用 Queue 非同步發送通知信、處理圖片下載縮圖。
  • 前端採用 Vue/React + Tailwind CSS,支援響應式設計。
  • 部署於 Docker + CI/CD,自動化測試與上線。

總結

本文定義了文章推薦系統的核心需求、資料模型、檔案分工與業務規則。後續將詳細說明 appre.php 表單處理邏輯與 article.php 列表分頁顯示。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved