現代鏈接縮短器
該項目是一個可擴展且功能豐富的鏈路縮短器,它使用.NET 8中的現代技術構建。它採用分層體系結構來確保可維護性,可檢驗性和可伸縮性。該應用程序由ASP.NET核心Web API組成,作為後端和大型WebAssembly前端。它利用廣泛的技術和設計模式來提供安全,高效和用戶友好的體驗。
關鍵功能
- 安全鏈接縮短:利用SHA-256 HASHING與碰撞管理
- 自定義鏈接支持:創建個性化的短鏈接(高級功能)
- 貨幣化:通過廣告產生收入。
- 支持貨幣化的重定向和普通重定向
- 實時統計:通過SignalR實時跟踪和更新
- 批處理處理:支持散裝鏈接縮短操作
- 高級分析:基於IP地址和用戶代理的詳細見解,包括地理信息和設備信息。
- 安全身份驗證:基於XSS&CSRF保護的基於JWT的驗證。
- 費率限制:基於端點靈敏度的智能請求節流
- 單擊鏈接管理:
- 切換鏈路激活。
- 切換鏈接貨幣化。
- 自定義碰撞處理
- 非數字哈希保證
?安全功能
- 僅HTTP僅基於HTTP的JWT和刷新令牌存儲。
- CSRF通過令牌預防保護。
- 使用BCRYPT密碼哈希。
- 費率限制機制。
- XSS攻擊預防措施。
- Cloudflare旋轉門集成頁面以防止機器人。
- IP和用戶代理使用外部受信任服務處理。
- 用戶秘密使用用戶秘密,以防止API鍵洩漏或其他重要信息。
- 基於角色的授權
- 嚴格的類型安全數據驗證
技術堆棧
後端(.NET 8)
- 建築:分層體系結構
- API :ASP.NET核心Web API
- 身份驗證:帶安全曲奇存儲的JWT
- 數據庫:PostgreSQL(Dockerized)
- 緩存和消息經紀人:redis(dockerized)
- ORM :實體框架核心
- 實時通信:Signalr
- 付款處理:Zibalclient
前端(.NET 8)
- 技術:大火WebAssembly
- CSS框架:Bootstrap
- 使用自定義HTTP處理程序進行身份驗證來驗證請求
- 授權:使用.NET授權狀態提供商
- 實時通信:信號客戶端
- localstorage和Notification :命中
- 圖標:Blazorise字體很棒的圖標
- 驗證碼:大發旋轉門
關鍵軟件包
- 信號:進行實時通信
- DTO映射的汽車應用程序
- 供求驗證的熒光驗證
- 基於IP分析的IPINFO
- NPGSQL用於PostgreSQL連接
- bcrypt.net用於密碼安全
- 圖表:儀表板中的圖表
- 燃燒:用於LocalStorage並顯示通知
- Blazorise :對於像圖標這樣的UI元素
?基礎設施
- 容器化的PostgreSQL數據庫
- 用於緩存和消息經紀的容器重新介紹
- 異步操作的背景服務
- 身份驗證代碼的電子郵件服務
?高級功能
貨幣化
- 廣告:通過在重定向頁面中顯示大量的8個廣告,支持賺錢的支持。
數據管理
- 自定義分頁實現
- 鏈接操作的交易管理以確保原子能
- 碰撞處理策略
- 非數字哈希產生
緩存系統
- 通用的REDIS緩存實現
- 批量緩存支持
- 高流量場景的優化性能
- REDIS隊列用於背景服務通信
分析
- 詳細的訪問者分析
- 設備和瀏覽器檢測
- 地理位置跟踪
- IP和用戶代理數據的背景處理
- 具有客戶見解的全面用戶儀表板:
- 圖表顯示了上個月的點擊。
- 圖表顯示,單擊更有可能發生在一天中的時間。
- 每週點擊增長
- 總鏈接計數
- 昨天點擊
- 每個鏈接平均點擊
- 上點擊鏈接列表。
- 最高國家點擊器來自。
- 點擊器使用的頂級設備。
- 表顯示了5個最近的縮短鏈接。
鏈接縮短
- 支持單個和批處理鏈接縮短
- 切換鏈接的激活和貨幣化
- 易於使用和自定義表,以管理用戶配置文件和Shortener頁面中的縮短鏈接。
實時更新
- 實時統計的信號集成
- 即時餘額和個人資料統計更新
- 實時用戶個人資料同步