爱意满满的作品展示区。
Caringor

可能是一个好用的短地址服务(附源码)

  •  
  •   Caringor · Aug 26, 2017 · 6886 views
    This topic created in 3357 days ago, the information mentioned may be changed or developed.

    一直想搭一个自己的短地址服务,奈何懒癌末期拖了好久。最近看见身边的朋友也做了一个,忍不住了就用 PHP 实现了一个简易的轮子。

    相比同类服务,CRZ 拥有简洁的用户界面、无广告、永久免费,且开放网站源码。

    项目地址:https://crz.im/

    Github:https://github.com/Caringor/CRZ.im <-- 可耻地来骗 Star

    31 replies  •  2017-08-31 09:58:46 +08:00
    jeffson
    jeffson
    Aug 26, 2017
    1
    UP UP UP
    a570295535
    a570295535
    Aug 26, 2017❤️1
    2
    很坑啊,你这 https 的链接转换后直接 404 啊 https://crz.im/e7c9
    Caringor
    Caringor
    OP
    Aug 26, 2017 via Android
    3
    @a570295535 伪静态有点问题,回去处理下~
    tSQghkfhTtQt9mtd
    tSQghkfhTtQt9mtd
    Aug 26, 2017 via Android
    4
    继续用 Yourls (
    soeasy
    soeasy
    Aug 26, 2017
    5
    haha~我也来发一个,速跳短网址: https://st.im/
    SaoHangBaBa
    SaoHangBaBa
    Aug 26, 2017
    6
    Bug 休好了,记得通知我。。。。
    lzhr
    lzhr
    Aug 26, 2017
    7
    可以自定义吗
    whatsmyip
    whatsmyip
    Aug 26, 2017
    8
    http://s.newnius.com/

    没有统计功能的短网址服务都是渣,所以我的也是渣^_^
    ctt
    ctt
    Aug 27, 2017 via iPad
    9
    没有统计功能,所以我就用 html 和几行 js 实现了短地址,就是得多了个#。
    jiujiu5151
    jiujiu5151
    Aug 27, 2017 via Android❤️1
    10
    想看下短网址的生成算法,结果那类里的方法:
    // 清空短地址
    public function clean_urls() {
    $del = $this->db->delete('urls');
    if($del) return true;
    return false;
    }

    是不是可以直接 return (bool) $this->db->delete('urls');

    还有上面几个方法,已经使用三元运算符,也是可以直接 return
    akaayy
    akaayy
    Aug 27, 2017 via Android
    11
    希望增加可以自定义的功能
    doubleflower
    doubleflower
    Aug 27, 2017 via Android
    12
    现在这个年代,介面应该是移动优先,毕竟大部分人都是用手机打开。参考一下楼下贴的那个 st.im
    akaayy
    akaayy
    Aug 27, 2017 via Android
    13
    @whatsmyip
    是否开源?
    whatsmyip
    whatsmyip
    Aug 27, 2017❤️1
    14
    akaayy
    akaayy
    Aug 27, 2017 via Android
    15
    @whatsmyip
    能写出来就是牛。

    我还想问你和楼上做短网址的各位,怎么避免被恶意利用?
    我原来也用 yourls 做了一个短网址站,但是过了一段时间被 qq 列入了危险名单,到后台一看果然有很多乱七八糟的地址。吓得赶紧关了。

    求应付方法?
    zjqzxc
    zjqzxc
    Aug 27, 2017
    16
    @whatsmyip 第一眼看过去看到了 redis 字样,准备看看你的缓存淘汰算法用的啥。。。看了半天才发现没写完
    话说,random.php 里,为啥要自己写个 randomInt,rand()函数有啥问题么?
    whatsmyip
    whatsmyip
    Aug 27, 2017
    17
    @akaayy
    我的也被用于过 1024,不过使用的人比较少

    短网址确实存在滥用的情况,所以打算下一版本切换域名。

    真要防这个,也不是没有办法。
    一个就是参考 bat 的短网址服务,设置域名白名单
    另外一个是,封掉 qq 的 robot ( UA 等,分析日志吧)

    其他的比较容易实现的(自动化)办法,暂时想不到
    whatsmyip
    whatsmyip
    Aug 27, 2017
    18
    @zjqzxc

    额,确实没用上缓存,比较简陋。redis 是用来防 spam 的。。。

    好久以前写的了,这个应该是生成 unique 串的,rand 冲突可能性比较高吧。
    KWPr0
    KWPr0
    Aug 27, 2017
    19
    厚着脸皮放上自己搞的破烂 301.tn
    lengxx
    lengxx
    Aug 27, 2017
    20
    点击后并没有生成短地址,什么都没发生。。
    Caringor
    Caringor
    OP
    Aug 27, 2017
    21
    @SaoHangBaBa @a570295535 很抱歉昨天没什么时间处理,今天把问题修好了。

    @lengxx 刚刚在改 Nginx 的配置,现在应该好了。

    @doubleflower 这个之后会改进的。
    rogwan
    rogwan
    Aug 27, 2017 via Android
    22
    这个 4 位短网址,重复率高,不是很快就失效啊
    Marfal
    Marfal
    Aug 27, 2017 via Android
    23
    不考虑 Redis ?
    hxsf
    hxsf
    Aug 27, 2017
    24
    另外,貌似没看见过期之类相关的代码啊,没考虑么?
    DlYgod
    DlYgod
    Aug 27, 2017❤️1
    25
    千岁姐姐好棒!
    Caringor
    Caringor
    OP
    Aug 27, 2017 via Android
    26
    @rogwan 其实可以通过修改配置文件把 ID 拓展到八位,暂时觉得四位够用了。
    Caringor
    Caringor
    OP
    Aug 27, 2017 via Android
    27
    @hxsf 嗯,没考虑,打算做永久的。


    @Marfal SQLite 没必要配合 Redis 吧感觉…
    hxsf
    hxsf
    Aug 27, 2017
    28
    @Caringor #27 永久? 无限的输入对应 有限的输出,迟早用完的吧。
    xspoco
    xspoco
    Aug 28, 2017
    29
    好像不适配移动端?
    majiawei
    majiawei
    Aug 30, 2017
    30
    一年多以前写了一个,公司内部用的,最开始的版本的功能跟你这个差不多,但后面实际用起来,优化了不少东西,主要都是数据的记录,从单纯的读写 MySQL 到后面的 Redis 缓存,数据方面除了算点击数之外,每个单次点击也会记录具体的日志,后台做了些报表功能,对运维来说这些数据有时候还是很有用的,说了一堆也不知道为什么要说这些哈哈哈哈
    Caringor
    Caringor
    OP
    Aug 31, 2017
    31
    @majiawei 哈哈,想起了那篇做轮子决定午饭去哪家吃的软文了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2029 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
    ♥ Do have faith in what you're doing.