Érzékeny adatok a képernyőn

Ilyet használ mondjuk a Google, vagy a Microsoft Azure/Live számos esetben érzékeny adatok képernyőn való megjelenítése közben. Ha olyan esetbe kerülünk, hogy csak valamit meg kell erősíttetnünk a felhasználóval, vagy csak adategyeztetésről van szó akkor érdemes az érintett érzékeny adatnak csak egy bizonyos részét megjelenítenünk.

 

Én ma beírt kuponkódot kellett, hogy visszajelezzek a felhasználónak. Ez is érzékeny adatnak számít, mert ha még nem használta fel, de valaki leolvassa a képernyőjét akkor ezt a kuponkódot ellophatják tőle. Ezt megakadályozandó írtam egy kódot, ami az adott string elejének és végének bizonyos százalékát jeleníti csak meg, a többit kicsillagozza.

 

$number = "sdfghjkléwertzuiopő"; //csak hogy rövidebb legyen
$hidden = "";
$length = strlen($number);
for ($i = 0; $i < $length; $i++) {
 if (($i < ($length * 0.1)) || (($i > ($length * 0.6)))) { //10%-tól, 60%-ig csillag, igény szerint variálható
 $hidden .= $number{$i};
 }
 else {
 $hidden .= "*";
 }
}
print $hidden;