亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP如何實現短網址

2020-03-22 17:58:28
字體:
來源:轉載
供稿:網友
未標題-2.png

1.背景介紹

相信很多人手機上都收到過一些營銷短信,短信里面有時候會附帶一些網址,如下圖

這些網址往往都是非常短,但是當我們打開之后,如果你仔細觀察,中間會有跳轉,最終瀏覽器地址欄顯示的網址并不是你短信里面看到的網址,這就是短網址!

下載.jpg

2.原理和應用

短網址一般是采用一個非常短域名下,路徑參數一般只有3-6個字符組成,非常簡潔!

使用短網址的前提是先生成短網址,主要是采用某種算法讓一段短的字符對應一個長的字符,比如說從常用的0-9、a-z、A-Z共62個字符中選擇6個字符,那意味著有62的6次方種組合,大概有568億不重復的短網址可用!

服務器通過路徑參數查詢到真實的長網址,然后使用301/302跳轉到真實的網址即可!

關于跳轉,301 是永久重定向,302 是臨時重定向。短地址一經生成就不會變化,所以用 301 是符合 http 語義的,瀏覽器會記錄跳轉地址,同時對服務器壓力也會有一定減少。但是如果使用了 301,我們就無法統計到短地址被點擊的次數了,如果對數據統計有要求的話,使用302跳轉可能比較好一些!

短網址的主要好處是方便傳輸記憶,特別是在短信里面使用的時候,短信對內容字數有限制,還有比如說微博分享也使用了短網址!

3.市面現有案例

目前市面上有很多免費的短鏈接服務,功能基本上都一樣,也沒有什么限制!

(1)百度的短鏈接(dwz.cn/),百度不僅僅提供了網頁入口,也提供了接口和開發文檔,簡單易用!

(2)新浪的短鏈接(sina.lt/),目前僅提供網頁入口,未發現接口服務!

(3)淘寶的短鏈接(tb.am/),目前僅提供網頁入口,未發現接口服務!

市面還有很多其它的小的公司提供短鏈接服務,有些是部分免費,有些短鏈接是有效期的,這里不一一介紹!

4.常用算法

網上比較流行的算法有進制算法、摘要(Hash)算法、隨機數算法,下面簡單介紹一下:

一.進制算法

這個算法網上也有叫作自增序列算法,特點就是永不重復,設置 id 自增,一個 10進制 id 對應一個62進制的數值,1對1,也就不會出現重復的情況,這個利用的就是低進制轉化為高進制時,字符數會減少的特性。

計算機中常見的進制有2進制,8進制,10進制,16進制,進制越大,能夠表示的數越大,占用的字數也越少。下面舉個例:

10進制的1000,在8進制里面是1750,在16進制里面就是3E8,那在62進制里面呢?有人說,計算機里面沒有62進制。。。雖然沒有,但是我們可以造一個,進制的轉換算法是固定的,最常見的就是“除基取余法”!

我們假設62進制的字符序列為 0-9a-zA-Z,順序可以打亂,但是應該固定下來,是一個從0角標開始的到61的數組,我們暫且稱之為字母表!

====> 1000/62 = 16,余8

====> 16/62 = 0,余16

余數得到的數字是16、8,然后找到字母表里面角標為16和8的字符拼起來,就是g8,非常短,只有2位數!假如說我們想至少產生6位字符,那么我們可以從一個比較大的數字開始,具體可以看下圖:

1位 62 0 - 61 2位 3844 62 - 3843 3位 約 23萬 3844 - 238327 4位 約 1400萬 238328 - 14776335 5位 約 9.1億 14776336 - 916132831 6位 約 568億 916132832 - 56800235583 復制代碼

二.Hash算法

第一種方式:

簡單的對長鏈接進行加鹽md5,會生成一個32位的字符串,隨機從里面取6個字符,或者簡單粗暴取最后6位,但是md5只包含0-9A-Fa-f,比字母表的里面字符還少,沖突幾率更大!

第二種方式:

1.將長網址 md5 生成 32 位簽名串,分為 4 段, 每段 8 個字節

2.對這四段循環處理, 取 8 個字節, 將他看成 16 進制串與 0x3fffffff(30位1) 與操作, 即超過 30 位的忽略處理

3.這 30 位分成 6 段, 每 5 位的數字作為字母表的索引取得特定字符, 依次進行獲得 6 位字符串

4.總的 md5 串可以獲得 4 個 6 位串,取里面的任意一個就可作為這個長 url 的短 url 地址

生成的方式更加復雜,重復的幾率低,但是依然會出現沖突!

三.隨機數算法

這個更簡單,直接對這個62個字符數組做隨機選擇,選擇其中6個字符當作短鏈接碼,簡單易用,但是難免會出現重復沖突!

四.算法對比

第一種算法只要解決自增id問題就可以避免沖突,自增id可以采用數據庫自增主鍵,每次生成短碼只需一次數據庫操作(insert操作,獲取主鍵id,然后算出短碼即可)

第二種和第三種算法其實都差不多,都是依賴于程序隨機,容易出現沖突,這就需要每次在插入數據庫的時候判重,效率低一些!

5.安全

短鏈接雖然方便了傳輸和記憶,但是由于鏈接組成的字符個數少,更容易被爆破、猜測攻擊,攻擊者可以輕松遍歷所有字符組成的鏈接!

所以不建議使用短鏈接發送具有私密性的網址,比如說重置密碼鏈接,對一些權限、敏感信息的鏈接要做好二次鑒權!

推薦教程:Laravel實戰開發短鏈生成器視頻教程

以上就是PHP如何實現短網址的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色偷偷av一区二区三区乱| 91免费视频国产| 亚洲国产日韩精品在线| 欧美与黑人午夜性猛交久久久| 国产精品久久久久久超碰| 亚洲大胆人体在线| 日韩精品视频三区| 亚洲欧美色图片| 国产一区二区三区三区在线观看| 久久精品国产综合| 日韩高清av一区二区三区| 亚洲奶大毛多的老太婆| 在线色欧美三级视频| 精品久久久久久亚洲精品| 久久99青青精品免费观看| 韩国三级日本三级少妇99| 亚洲一区二区精品| 日韩在线精品一区| 91免费在线视频网站| 97精品国产97久久久久久免费| 日韩av在线精品| 91国内精品久久| 宅男66日本亚洲欧美视频| 视频一区视频二区国产精品| 日产日韩在线亚洲欧美| 亚洲精品女av网站| 一区二区三区国产视频| 成人h视频在线观看播放| 国模视频一区二区三区| 最新国产精品拍自在线播放| 亚洲淫片在线视频| 亚洲精品日韩欧美| …久久精品99久久香蕉国产| 亚洲www在线观看| 欧美日韩国产色视频| 一区二区三区四区精品| 国产一区二区成人| 欧美日韩国产成人在线| 国内外成人免费激情在线视频| 欧美久久精品午夜青青大伊人| 中文字幕亚洲自拍| 欧美精品18videosex性欧美| 日韩女优在线播放| 欧美性xxxx| 久久精品电影网站| 国产一区二区久久精品| 欧美日韩国产丝袜另类| 国产成人福利夜色影视| 最新国产成人av网站网址麻豆| 色青青草原桃花久久综合| 国产精品狼人色视频一区| 亲爱的老师9免费观看全集电视剧| 91精品国产777在线观看| 日本国产欧美一区二区三区| 国产精品视频免费观看www| 中文字幕综合在线| 日韩av在线免费播放| 欧美日韩免费看| 国产精品中文字幕在线观看| 久久久精品久久久| 日韩av在线免费| 深夜福利91大全| 日韩美女av在线| 亚洲欧美日韩视频一区| 青青青国产精品一区二区| 日韩中文字幕视频在线| 韩日精品中文字幕| 亚洲视频在线免费观看| 96pao国产成视频永久免费| 在线视频日韩精品| 日韩成人在线视频观看| 国产成人精品av| 久久久久国产精品免费| 欧美日韩综合视频| 中文字幕成人在线| 成人a在线观看| 精品久久久香蕉免费精品视频| 久久韩国免费视频| 国产欧美日韩丝袜精品一区| 亚洲激情视频在线播放| 欧美最猛性xxxxx免费| 亚洲精品日韩av| 午夜精品一区二区三区在线视| 亚洲第一黄色网| 国产色婷婷国产综合在线理论片a| 欧美性xxxxx极品| 国产成人aa精品一区在线播放| 久久久av亚洲男天堂| 国产精品一区二区三区毛片淫片| 日韩av影院在线观看| 欧美激情精品久久久| 久久久久成人精品| 伊人成人开心激情综合网| 亚洲欧美三级在线| 在线免费看av不卡| 免费97视频在线精品国自产拍| 久久久久久久网站| 日韩av电影国产| 91中文字幕在线观看| 日韩av在线免费观看一区| 一区二区三区国产视频| 欧美极品少妇xxxxⅹ裸体艺术| 中文字幕精品—区二区| www国产精品视频| 久久成人精品一区二区三区| 国产免费观看久久黄| 欧美有码在线观看视频| 欧美成人中文字幕在线| 亚洲福利精品在线| 欧美极品少妇与黑人| 日韩美女视频中文字幕| 亚洲精品网址在线观看| 久久久久久久久久久av| 992tv成人免费影院| 久久精品国产欧美激情| 国产精品久久久久国产a级| 久久人人爽人人爽爽久久| 国产精品福利无圣光在线一区| 欧美一级淫片丝袜脚交| 欧美成aaa人片在线观看蜜臀| 亚洲欧洲国产伦综合| 亚洲福利小视频| 日本一欧美一欧美一亚洲视频| 97国产suv精品一区二区62| 亚洲欧美国产一区二区三区| 精品亚洲一区二区三区四区五区| 欧美性猛交xxxx乱大交蜜桃| 亚洲欧美综合区自拍另类| 91精品国产自产91精品| 亚洲欧美中文在线视频| 日本中文字幕久久看| 国产玖玖精品视频| 日韩二区三区在线| 成人精品在线视频| 欧美激情国产日韩精品一区18| 久久久久久久久久国产精品| 国产一区二区三区网站| 91亚洲国产成人久久精品网站| 国产日韩av在线播放| 国产成+人+综合+亚洲欧美丁香花| 国产精品久久久久久久久久ktv| 亚洲视频日韩精品| 久久综合国产精品台湾中文娱乐网| 91在线视频一区| 亚洲人成亚洲人成在线观看| 欧美激情欧美狂野欧美精品| 亚洲成人动漫在线播放| 911国产网站尤物在线观看| 亚洲精品成人久久久| 国产91精品不卡视频| 午夜欧美不卡精品aaaaa| 国产精品黄色av| 精品国产老师黑色丝袜高跟鞋| 久久久久国产精品免费网站| 亚洲一区二区三区sesese| 亚洲欧美在线x视频| 成人国产精品久久久| 亚洲国产美女精品久久久久∴| 97色在线观看免费视频| 久久久久久国产精品| 亚洲最大av在线| 久久色在线播放| 最新亚洲国产精品| 久久精品视频va|