Php ile Önemli Bilgileri Gizlemek

Başlık biraz saçma olmuş olabilir ancak bazı sitelerde örneğin telefon numaramızı eklediğimizde ilk 2 harf ve son 2 harf gözükür. Geri kalan yerler *** şeklinde filtrelenir.

Bugün uzman cevap’ta böyle bir soru sorulduğu için bir fonksiyon hazırladım, sizlerle de paylaşıyorum. Daha kısa bir yolu var mıdır emin değilim 🙂

function private_str($str, $start, $end){
   $after = mb_substr($str, 0, $start, 'utf8');
   $repeat = str_repeat('*', $end);
   $before = mb_substr($str, ($start + $end), strlen($str), 'utf8');
   return $after.$repeat.$before;
}

kullanımı ise şöyle;

/* yukarıdaki fonksiyon kodları burada olacak */
$telefon = '05417495744';
echo private_str($telefon, 3, 5); // Çıktı: 054*****744

benzer başka bir örnek ise t.c. kimlik numarasından verelim.

/* yukarıdaki fonksiyon kodları burada olacak */
$tc = '45252204745';
echo private_str($tc, 2, 7); // Çıktı: 45*******45

Böylece betiklerinizde kullanıcıya özel kısımların sadece bir bölümünü göstererek önemli bilgileri başkalarından gizlemiş olursunuz.

Not: Örnekteki T.C. Numarası sallamadır.

Yayınlayan

Tayfun Erbilen

2009'dan beri web işleriyle uğraşan, aynı zamanda amatör müziklede ilgilenen sıradan birisi..

“Php ile Önemli Bilgileri Gizlemek” üzerine 8 yorum

  1. siz gerçekten son 3-4 yılda türk webmasterlerine en büyük desteği ücretsiz veren bir kahramansınız… Doğru konuşmak gerekirse ben bile bazen ortaya çıkardığım bazı scriptleri paylaşmıyorum hani emeğim var diye 🙂 ama sizi kesinlikle taktir ediyorum hocam… Allah seni başımızdan eksik etmesin

  2. Emeğinize sağlık.
    Hocam sadece ilk ve son 2 karakter görünecek, gerisi * ile filtrelenecekse:
    $tel = “05551234567”;
    echo substr($tel,0,2).str_repeat(“*”,7).substr($tel,-2);

    Şeklinde kullanılabilip,
    function NoFiltre($telno){
    return substr($telno,0,2).str_repeat(“*”,7).substr($telno,-2);

    }
    şeklinde fonksiyona dönüştürülüp,

    echo NoFiltre(“05051234567”);

    şeklinde de çağrılabilir

  3. @Umut Keskin, yeni bir fonksiyon yazmaya gerek yok 🙂 Bu fonksiyon ile de şöyle kullanabilirsin;

    $telefon = '05417495744';
    echo private_str($telefon, 2, (strlen($telefon) - 4));
  4. Yeni fonksiyon daha kısa gibi. Aynı işi yapıyor zaten sizin fonksiyonla. “Daha kısa yolu var mıdır emin değilim ” demişsiniz. Yolladığım fonksiyon alternatif olabilir, tek satır olarak da (fonksiyonsuz) kullanılabilir.
    Bu arada kod renklendirici “bbcode” kullanımını bilmediğimden biraz sayfa kirliliği oldu. Affola 🙂

  5. Ahaa. Benim açtığım konu :).

    O Gün çok lazım olmuştu bir proje hazırlıyordum, bayilik sistemi tarzımda birşey. Bayi müşterilerin TC kimlik numaralarını kullanmasın diye gizlettirmiştim ama o gün yardım’ıma tayfun koştu..

    Teşekkürler. tekrardan…

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir