基于PHP8的防红短网址生成系统

【基于PHP8的防红短网址生成系统】

手册阅读须知:本手册仅针对 饼干短链接生成系统1.0.*版本

本系统是自豪的采用OreoFrame微PHP快速开发框架1.0的基础上开发出来的短连接生成系统。

系统的开发完全遵循OreoFrame的快速开发理念以及灵活特征打造的产品,同样本系统也能作为学习OreoFrame的一套完整教程。

一、管理员后台功能(包括且不限于):

1.完整的基于角色的访问控制(RBAC)模块。

2.系统基本参数的设置。

3.短网址域名的配置,包括但不限于(多条域名的增删改查),生命周期设置,防红设置,防红模板选择,状态设置。

4.生成的短网址点击统计功能。

二、前台

1.简洁大气的生成页面。

2.自动获取后台设置的短网址域名。

3.自动生成且sweetalert返回。

三、生成与访问的实现

整个逻辑过程:

用户提交短网址生成请求 -> 后端验证是否合法请求 -> 自动判断是否存在系统库短网址域名 -> 判断是否协议域名 -> 查询是否已存在链接 -> 更新或新增处理->记录生成者的IP地址 -> 冗余校验码分配地址 -> 返回。

访问: 根据地址块查找 -> 判断是否合法 -> 通过验证判断是否原短网址地址 -> 其他记录 -> 跳转。

其实很多功能的实现比描述的复杂的多且有很多验证机制,如果你是好学可以参考和学习且可以与作者一起探讨。

四、安装

开发环境:PHP8 ,MySql8.0,Redis6.0

运行环境:PHP7+,Mysql8.0,Reids可根据业务需求安装和配置即可

注:关于数据库的说明:原则上最低数据库版本为8.0,若您的环境无此版本,则最低要求5.7。

git clone https://github.com/emran519/oreo_shortUrl.git

你可以直接克隆到项目文件,或者打包下载到本地。

框架需要配置伪静态规则:

Apache

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php/$1 [L] 

Nginx

if (!-d $request_filename){
	set $rule_0 1$rule_0;
}
if (!-f $request_filename){
	set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
	rewrite ^/(.*)$ /index.php/$1 last;
}
运行目录设置为: /public

导入数据库文件以及配置数据库链接文件

在根目录中获取database.sql文件,导入至mysql,而后编辑 根目录/config/oreo_database.php 文件中的相关配置信息

注: redis以及其他项配置在 根目录/config/oreo_app.php 文件中,如需配置Redis也请在此文件中设置(redis开启后您可以选择开启)

redis开启后您可以选择开启 安全监测(如果触犯安全规则IP会被暂时拉黑,此功能需开启redis),redis未配置请把 safety 设为 false

五、后台地址

http://你的URL/home

默认登录帐号:admin

默认登录密码:123465

六、下载地址 (star)

Github
Gitee

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,你可以使用百度短网址的API来生成链接。以下是Java代码示例: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class BaiduShortUrl { public static void main(String[] args) { String longUrl = "http://www.baidu.com"; // 待转换的长链接 String apiKey = "你的API Key"; // 填写你在百度短网址申请的API Key String url = "http://dwz.cn/create.php"; String param = "url=" + URLEncoder.encode(longUrl, "UTF-8") + "&apikey=" + apiKey; String result = sendGet(url, param); System.out.println(result); } private static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection(); connection.setRequestMethod("GET"); connection.connect(); in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常:" + e); e.printStackTrace(); } finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } } ``` 在上面的代码中,你需要替换 `longUrl` 和 `apiKey` 的值。`longUrl` 是你要转换成短链接的长链接,`apiKey` 是你在百度短网址申请的API Key。运行代码后,你将会得到一个 JSON 格式的响应,其中包含了生成的短链接

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值