Php ile İp Bulma ve Üyelik Sistemleri için Güvenlik Yöntemleri
Öncelikle PHP ile IP(Internet Protocol) adresi bulmak için aşağıdaki kod işinizi görecektir.Bu IP adresi sayfayı görüntüleyen kişiye ait olarak çıkacaktır fakat İP adreslerinin tam adreslerini bulmak için GEO tagı kullanıldıgından bu İP adresi sadece Tahminen demek tam doğru degil fakat genellikle o ip adresleri hangi bölgelerde kullanılıyorsa örn:Ankara,İstanbul vb. onları bulabilirsiniz.
$_SERVER['REMOTE_ADDR']; // İp Adresi
Güvenlik çözümlerine gelirsek öncelikle kullanıcıların kendini güvde hissetmesi en önemli konulardan biridir.Herhangi bir hack girişimi veya durumunda kullanıcı ilk olarak hesabını almaya çalışıp sonra sizle iletişime geçecektir.Sizde bazı güvenlik sorularıyla onu tanıyıp yardım edebilirsiniz bu basit bir yöntemdir birde kullanıcının hesabına giren kişinin ne zaman girdiği ve hangi IP adresiyle girdiğini istemesi olacaktır bunlar için bazı siteler log tutar eğer kullanıcı sayınız fazla ve aktif bi şekilde kullanılan bir siteniz var ise gerçekten yüksek bir sunucu depolama isteyebilir fakat çok fazla sunucu yerim gitmesin ama bir bilgi de sunabileyim diyorsanız kullanıcının olduğu tabloya bazı bilgiler ekleyerek bunu yapabiliriz.
Öncelikle kullanıcının olduğu bir tablo örneğin;
- id
- kullanici_adi
- parola
- eposta
- ad
- soyad
- telefon
- kayit_tarihi
- s_giris_tarihi
- kayit_ip
- s_giris_ip
- gvnlk_srs
- gvnlk_srs_cvp
- yedek_eposta
- rast_kod
şeklinde bir tablomuz olsun orta düzeyli bir site için güvenlik önlemlerinin yeteceğini düşünüyorum.Son giriş tarihi ve son girişte kullanılan ip adreslerini kaydetmemiz bir güvenlik sorusu olması ve yedek epostanın olması bir hayli güzel peki “rast_no” nedir peki rastgele verilen bir numara fakat bu profilden değiştirelemiyor kullanıcının kayıdından sonra ekrana yansıtılıyor ve bunu kaybetmemesi söyleniyor eğer istersede eposta adresine gönderiliyor.Fakat ondan sonra hiçbir şekilde eposta adresine gönderilmiyecek ve ekrana yansıtılmıyacak bu şekilde eğer hesabı herhangi biri ele geçirirse bunu değiştiremiyecek fakat asıl kullanıcı bu rastgele üretilen numaraya sahip oldugu için bunu bize ileterek veya her hangi bir yerden kullanarak şifresini değiştirebilecek, örnek bir rastgele kod üretme sistemi ;
$rast_no_2 = rand(1, 999999); // 1 ile 999999 arasında rastgele sayı üretir $karakter = 'ABCDEFHJMNYabcdefhjmny'; $rast_no_1 = str_shuffle($karakter); $rast_no = $rast_no_1.$rast_no_2; echo $rast_no;
örnek çıktılar:
afCcbjNmyHehndAMFYDEBJ978845
HDcNYjEdmCJhAeBMyFfabn841672
HDBecbdynCYaMFAEJfhjmN770128
yYAjheBHCJfDNncmbEMadF323463
AFaBhjMNDJfEcyHYbnedCm400112
djJCefyhBbcDYFmAENaHMn312137
EhDJeaHBNFdcbjyYMAnCmf730310
DCdbmABFfJHEMnyaeYhcjN599718
bazılarınız sorabilir neden str_shuffle ile hem sayı hem karakter kullanmadıgımı sebebi rastgele oldugu için çok düşük bir ihtimal de olsa tamamı sayı yada tamamı harf olabilir bu yüzden ben kodda echo yazdım siz o echo satırını veritabanına ekleyip ekranada yansıtabilirsiniz.Ama lütfen bu kodların girilip kullanıcının şifresini yenileyeceğe sayfaya captcha sistemi entegre edin aksi takdirde hacklenmeyen bir kullanıcı bile hacklenebilir BruteForce yöntemi ile bunada dikkat edin.Bu orta seviye güvenlik sistemlerinden biriydi ilerleyen yazılarımda daha ileri güvenlik sistemlerini paylaşacağım …
This post will assist the internet users for creating new website or even a weblog from start to end.
This piece of writing is truly a nice one it assists new the web visitors, who are wishing for blogging.