[心得]寫IPv6相容網頁要注意IP長度問題
最近登入一個之前寫的舊網站
怎樣都登不進去,一直在研究程式碼哪裡有問題了
結果後來發現,因為我有紀錄登入IP,是在MySQL中一個varchar(15)的紀錄
拿來記錄IPv4("255.255.255.255")是剛好
可是IPv6最長長度可以到39byte
("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
從而導致登入失敗...
記錄一下提醒給其他將網站轉往IPv6的人...
==========
不過我是認為比較好的方法是把IPv4來源加上IPv6轉換
a.b.c.d=>[::ffff:a.b.c.d]=>128bit binary
我還沒試過如果程式/網站把[::ffff:a.b.c.d]當目標去傳資料能不能正確運作
==========
順問一下,到底用[::ffff:a.b.c.d]正確還是[::a.b.c.d]?
在wiki上 http://zh.wikipedia.org/zh-hk/IPv6
前面這樣敘述:
ffff:1.2.3.4格式叫做IPv4對映位址,是不建議使用的。
而::1.2.3.4格式叫做IPv4一致位址。
但後面又敘述:
::ffff:0:0/96- 用於IPv4對映位址(參見以下的Transition mechanisms)。
::/96- 這個前置曾用於IPv4相容位址,現已刪除。
版主要不要去編修一下wiki啊,前後很多都對不上
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.180.163
推
02/24 12:25, , 1F
02/24 12:25, 1F
推
02/24 12:26, , 2F
02/24 12:26, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):
IPv6 近期熱門文章
PTT數位生活區 即時熱門文章