chocopoche/short_url

又一个短网址应用!

安装: 4

依赖: 0

建议者: 0

安全性: 0

星星: 2

关注者: 1

分支: 0

语言:JavaScript

v1.0.0 2013-04-03 14:29 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:16:27 UTC


README

Build Status

又一个为 Silex PHP 框架构建的 URL 缩短器!

安装

首先,安装包及其依赖项

$ git clone https://github.com/chocopoche/short_url.git
$ cd short_url
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar update

你可能需要修复 vendor/google 目录的权限,因为它在解压 tarball 后不可供世界读取。

$ chmod -R a+rX vendor/google

然后创建数据库,以下是如何使用 sqlite 数据库来创建数据库的方法

$ app/console db:create
$ app/console db:import-schema

运行测试

$ vendor/bin/phpunit

为了让用户能够验证自己的身份并跟踪其网址,通过在 控制台 上创建应用程序来启用 Google OAuth2。

app/bootstrap.php 中配置您的数据库,并在 config/app.php 中配置您的 GoogleOAuth 客户端 ID 和密钥。

功能

URL 别名使用 SQL 行 ID 整数生成,该整数通过一个 双向加密(Feistel 密码)进行哈希,该密码将整数空间映射到自身。内容来自 https://gist.github.com/baldurrensch/3710618

然后使用一个可配置的字母表的二元算法将生成的整数映射。这些函数来自 http://www.flickr.com/groups/api/discuss/72157616713786392/

这样就不需要在数据库中存储短代码,并且生成的短代码仅通过阅读是无法解码的(我的意思是,你不能简单地递增字符串来找到下一个记录)。

  • /{短代码} 重定向到长网址
  • /{短代码}.png 显示二维码
  • /{短代码}/details 显示缩网址的详细信息
  • /last/ 重定向到最后一个缩网址
  • /shorten/ 可使用 JavaScript 书签工具
  • /mine/ 当您进行身份验证时,缩网址将与您的账户关联,您将能够看到您最后缩网址。

书签

生成链接的 HTML 代码

<a href="javascript:location='http://tmb.io/shorten/?url='+encodeURIComponent(location.href); void 0" class="btn btn-success">Shorten</a>

或者只需添加一个带有以下 URL 的书签

javascript:location='http://tmb.io/shorten/?url='+encodeURIComponent(location.href); void 0

实时演示

实时演示可在 tmb.io 上找到。

API 文档

可在 tmb.io/doc/ 找到。