線上 RSS 聚合閱讀器,支援用戶註冊/登錄、分組訂閱管理、文章列表與全文閱讀、新視窗開啟、安全過濾。技術棧:JSP + Servlet + SQL Server + Rome/JDOM (RSS 解析) + DTree (樹狀 UI)。
signup.java:PreparedStatement 防注入,密碼確認、用戶名唯一性檢查loginCheck.java:Session 存儲 uid/name,登錄失敗導向提示頁SqlFilter.java:攔截所有請求參數,黑名單過濾 SQL 關鍵字('|and|exec|union|select...)addGroup.jsp/addRss.jsp/manage.jsp)getFeedTitle.java:即時解析 Feed URL 取得標題自動填充rsscontent.jsp:Rome SyndFeedInput 解析 XML → SyndEntry 列表 → 表格顯示標題/時間/連結target="_blank|_self"| 挑戰 | 解決方案 |
|---|---|
| RSS 格式多樣 | Rome 抽象層統一處理 RSS 0.91/1.0/2.0、Atom |
| 跨域/反爬蟲 | 設定 User-Agent 模擬瀏覽器,部分站點需代理 |
| SQL 注入風險 | Filter 黑名單 + PreparedStatement 參數化雙重防護 |
| 中文編碼 | ISO-8859-1 → UTF-8 手動轉碼,JSP 頁面統一 UTF-8 |
| Session 共享 | 單機部署無問題,叢集需 Spring Session / Redis |
users(uid, uname, upwd, nickname)rssGroup(gid, gname, uid)rssList(lid, title, url, gid)線上 Demo:https://easyrss.tk/(若失效請自行部署)
完整原始碼見文章 主要源代碼 區塊,含 JSP 視圖、Servlet 控制器、Java Bean、DAO、Filter、工具類。