Ke hoʻohana nei i nā huaʻōlelo Unicode like e kāpae i ka hōʻoia

GitHub pau loa he palupalu i kahi hoʻouka kaua e hiki ai ke komo i ka moʻokāki ma o ka hoʻopunipuni ʻana i nā huapalapala Unicode i nā leka uila. Loaʻa ka pilikia mai ka ʻoiaʻiʻo o kekahi mau huapalapala Unicode, i ka wā e hoʻololi ʻia ai i nā hua liʻiliʻi a i ʻole nā ​​hua nui, e hoʻololi ʻia i nā huapalapala maʻamau me nā ʻano like (hana kēia i ka wā e hoʻololi ʻia ai kekahi mau huapalapala like ʻole i hoʻokahi huapalapala—no ka laʻana, ua hoʻololi ʻia ka Turkish "ı" a me "i" i "I" i ka wā e hoʻololi ʻia ai i nā hua nui).

Ma mua o ka hōʻoia ʻana i nā palapala hōʻoia komo, hoʻololi mua kekahi mau lawelawe a me nā noi i ka ʻikepili i hāʻawi ʻia e ka mea hoʻohana i nā hua nui a i ʻole nā ​​hua liʻiliʻi a laila e nānā iā ia me ka waihona ʻikepili. Inā ʻae ka lawelawe i nā huapalapala Unicode i ka komo ʻana a i ʻole ka leka uila, hiki i ka mea hoʻouka ke hoʻohana i nā huapalapala Unicode like e hana i kahi hoʻouka e hoʻopunipuni i nā collisions mapping hihia Unicode.

'ß'.toUpperCase() == 'ss'.toUpperCase() // 0x0131
'K'.toLowerCase() == 'K'.toLowerCase() // 0x212A
'John@Github.com'.toUpperCase() == 'John@Github.com'.toUpperCase()

Mea hoʻouka GitHub hiki ma o ke ʻano hoʻōla ʻōlelo huna i poina ʻia, e hoʻomaka i ka hoʻouna ʻana i ke code hoʻōla i kahi leka uila ʻē aʻe ma ke kuhikuhi ʻana i loko o ke ʻano i kahi helu wahi e komo pū ana me kahi huapalapala Unicode e hoʻoulu ai i kahi collision (no ka laʻana, ma kahi o mike@example.org, ua kuhikuhi ʻia ka leka uila mıke@example.org). Ua hala ka helu wahi i ka nānā ʻana no ka mea ua hoʻololi ʻia i nā hua nui a kūlike me ka helu wahi mua (mike@example.org), akā i ka wā i hoʻouna ʻia ai ka leka uila, ua pani ʻia e like me ia a ua hoʻouna ʻia ke code hoʻōla i ka helu wahi hoʻopunipuni (mıke@example.org).

Kekahi o huapalapala, e hoʻoulu ana i nā collisions i ka wā o ka hoʻololi ʻana o ka papa inoa:

ʻO ß 0x00DF SS
ʻO 0x0131 I
0x017F S
0xFB00 FF
ʻO 0xFB01 FI
fl 0xFB02 FL
ffi 0xFB03 FFI
ffl 0xFB04 FFL
ſt 0xFB05 ST
st 0xFB06 ST
K 0x212A k

Source: opennet.ru

E kūʻai i ka hoʻokipa hilinaʻi no nā pūnaewele me ka pale DDoS, nā kikowaena VPS VDS 🔥 E kūʻai i ka hoʻokipa pūnaewele hilinaʻi me ka pale DDoS, nā kikowaena VPS VDS | ProHoster