Autor | Zpráva | ||
---|---|---|---|
Paterka Pavel Profil * |
#1 · Zasláno: 21. 11. 2018, 08:40:08
Kolem tohoto kódování u mně panují pořád nejasnosti, dle doporučení různých webů se ho snažím přesto na svém prvním jednoduchém webu používat, ale u registrace uživatelů bych ho chtěl nějak detekovat. Jelikož potřebuji zjistit zda-li zadané heslo nebo přezdívka neobsahuje právě 4 bajtové znaky (které tam nechci mít)...
1) Jakou funkcí spolehlivě detekovat jestli řetězec obsahuje 4 bajtový utf8 znak? 2) Existuje někde přehled 4 bajtových znaků UTF-8? 3) Respektují korektně PHP funkce typu mb_...() kódování utf8mb4? / používám PHP 7.0 Děkuji |
||
Tomášeek Profil |
#2 · Zasláno: 21. 11. 2018, 09:37:23
Paterka Pavel:
U přezdívky se dá pracovat s rozsahem (typicky písmena/číslice). Nevím, jestli chceš povolit všechny 2bitové znaky. U hesla ti pak může být buřt, co chce kdo použít. Zahashuj, co si kdo zadá a zbytečně neomezuj. |
||
Keeehi Profil |
Paterka Pavel:
„zjistit zda-li zadané heslo nebo přezdívka neobsahuje právě 4 bajtové znaky (které tam nechci mít).“ No, u přezdívky možná ale proč tě to zajímá u hesla. Jako heslo by jsi měl dovolit uživateli mít naprosto libovolný řetězec. Pokud chceš zjistit kolik bajtů má $i-tý znak v řetězci tak můžeš použít strlen(mb_substr($string, $i, 1, "utf-8")) |
||
Časová prodleva: 5 let
|
0