首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >dwz-shorturl:一款轻量、可自建的短链接服务(PHP + MySQL)

dwz-shorturl:一款轻量、可自建的短链接服务(PHP + MySQL)

原创
作者头像
陌涛
发布2025-10-30 12:53:13
发布2025-10-30 12:53:13
1460
举报
文章被收录于专栏:畅所欲言畅所欲言

一、背景

老板说要一个短网址程序。

我直接CV,主打极简:部署方便、依赖少、可控性强,适合个人或小团队在自有域名下快速搭建短链接服务。

dwz-shorturl:一款轻量、可自建的短链接服务(PHP + MySQL)
dwz-shorturl:一款轻量、可自建的短链接服务(PHP + MySQL)

二、项目简介

  • dwz-shorturl是基于 PHP + MySQL 的短网址服务。
  • 前端纯静态页,API 生成短码,Nginx 伪静态实现跳转。

三、功能亮点

  • 安全优化:严格 URL 校验、预处理 SQL、跳转后 exit、InnoDB + utf8mb4
  • 生成短链(支持 JSON/TXT 两种返回)
  • 本地化前端资源(Bootstrap、favicon),不依赖外链
  • 简单安装,MySQL 单表设计

四、目录结构

  • index.html:前端页面
  • api.php:生成短链 API
  • do.php:短码跳转
  • install.sql:初始化建表
  • includes/:数据库与工具函数
  • assets/:本地化静态资源(Bootstrap 等)

五、快速开始

1) 上传全部文件到站点根目录

2) 导入数据库

代码语言:javascript
复制
-- 执行 install.sql

3) 配置数据库

  • 编辑 config.php,填写 $host/$port/$user/$pwd/$dbname

4) 放置图标

  • 根目录添加favicon.ico

5) 访问首页

  • 打开你的域名根路径即可使用

六、Nginx 伪静态

代码语言:javascript
复制
location / {
    index index.php index.html;
    if (!-e $request_filename) {
        rewrite ^/(.+)$ /do.php?uid=$1 last;
    }
}
dwz-shorturl:一款轻量、可自建的短链接服务(PHP + MySQL)
dwz-shorturl:一款轻量、可自建的短链接服务(PHP + MySQL)

七、API 使用

  • 生成(JSON)
代码语言:javascript
复制
GET /api.php?url=https%3A%2F%2imotao.com
返回: {"code":"<短码>","msg":"success","result":1}
  • 生成(TXT)
代码语言:javascript
复制
GET /api.php?url=https%3A%2F%2Fimotao.com&format=txt
返回: <短码>
  • 访问短链
代码语言:javascript
复制
https://你的域名/<短码>

八、安全与稳定性改进

  • 仅允许 http/https,限制 URL 长度,拒绝危险协议
  • API 返回 Content-Type: application/json; charset=utf-8
  • SQL 使用预处理(存在退化方案),避免注入
  • 短码跳转后立即 exit,404 分支一致
  • 表结构使用 InnoDB + utf8mb4,uid 唯一索引、longurl 前缀索引

九、二次开发建议

  • 限流/黑名单:防止接口被刷
  • 自定义短码与过期时间
  • 访问统计与后台管理
  • 环境变量配置(替代明文 config.php)

十、源码下载

CNB:https://cnb.cool/code_free/dwz-shorturl/-/git/archive/refs/heads/master.zip

Github:https://github.com/motao123/dwz-shorturl

Gitee:https://gitee.com/pigfei/dwz-shorturl

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景
  • 二、项目简介
  • 三、功能亮点
  • 四、目录结构
  • 五、快速开始
  • 六、Nginx 伪静态
  • 七、API 使用
  • 八、安全与稳定性改进
  • 九、二次开发建议
  • 十、源码下载
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档