lostyazilim
tr.link

Farklı IP'lerle Girince Banlamak-Yardım

5 Mesajlar 1.042 Okunma
acebozum
tr.link

emreyavuz emreyavuz Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 05.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Öğrenci
  • Konum Erzurum
  • Ad Soyad E** Y**
  • Mesajlar 132
  • Beğeniler 49 / 9
  • Ticaret 0, (%0)
s.a başlıkta anlatamadım fakat otomatik ip kontrolü yapıp farklı ip ile bir hesaba giren kişilerin hesabını banlamak istiyorum...

giriş yaptıktan sonra bilgilerin kontrol edildiği sayfa;



include ("db_baglan.php");

$kullaniciadi = $_POST['kullaniciadi'];
$parola = md5($_POST['parola']);

if ((!$kullaniciadi =="") and (!$parola =="")) {

$sql = "select * from uyeler where kulladi='$kullaniciadi' and parola='$parola'";
$kontrol = mysql_query($sql);
$kayitsayisi = mysql_num_rows($kontrol);

if ($kayitsayisi == "0") {
echo "<script>alert(' Böyle Bir Üyemiz Bulunmamaktadır. $kontrol_ok[kulladi] ')</script>";
echo "";
} else {


$kontrol_ok = mysql_fetch_array($kontrol);
setcookie ("kulladi", "$kontrol_ok[kulladi]",time()+1800);
setcookie ("rutbe", "$kontrol_ok[rutbe]",time()+1800);
echo "<script>alert(' Girişiniz Onaylandı. Şimdi Yönlendiriliyorsunuz! ')</script>";
echo "";
}

}
else {
echo "<script>alert(' Böyle Bir Üyemiz Bulunmamaktadır. $kontrol_ok[kulladi] ')</script>";
echo "";
}


?>




Problem burada meydana geliyor yukarıdaki sayfa giriş yapıp index.php ye gonderiyor halbuki aşağıdaki sayfada $kullaniciadi değişkenine ihtiyaç var ve yukarıdaki sayfadan gelmesi gereken veriyi kullanamadığımdan dolayı yapamıyorum.. Normalde aşağıdaki kodları yukarıdaki php dosyasına yazmam gerekiyor fakat öyle yapınca hata alıyorum..neden hata aldığımı bilmiyorum....

Demek istediğim kullanıcının kayıt olurken kaydedilen ip'si ile giris yaparken ki ip si aynı değilse o hesabı banlamak istiyorum bunu nasıl yapabilirim??

not; yukarıdaki kodla yapılabilir fakat 2 php dosyasını bi sayfaya yazınca hata alıyorum farklı sayfalara yazınca değişkeni alamıyorum...


Banlamasistemi.php



$ip= getenv("REMOTE_ADDR");
$baglanti = mysql_connect( "host", "kulladı", "sifre" );
mysql_select_db( "dbismi" );

$sorgu = mysql_query( "SELECT * FROM uyeler WHERE kulladi = 'deneme';" );

while( $row = mysql_fetch_array( $sorgu ) ) {
$ipadresi= $row['ip'] ;
if ($ip==$ipadresi)
{
echo ("ip adresleri uyuşuyor");
}
else
{
mysql_query("DELETE FROM uyeler WHERE ip='$ipadresi'");
echo("ip adresleri uyusmuyor bu yuzden banladım");
}
}

mysql_close();
?>







Ek Olarak: yardım edecek yok mu?
 

 

elektronikssl
webimgo

kelebek kelebek WM Aracı Kullanıcı
  • Üyelik 11.05.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Geliştirici
  • Konum Malatya
  • Ad Soyad E** K**
  • Mesajlar 3142
  • Beğeniler 60 / 764
  • Ticaret 5, (%100)
Hocam mantığı basit kayıt olan kullanıcının ip adresini veritabınına kaydetireceksiniz giriş yaptığında ip adresini alıp test edeceksiniz
 

 

Ertug Ertug WM Aracı Kullanıcı
  • Üyelik 21.09.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım geliştiricisi
  • Konum Ankara
  • Ad Soyad E** K**
  • Mesajlar 361
  • Beğeniler 51 / 43
  • Ticaret 0, (%0)
Sadece aklıma takıldığı için soruyorum, kullanıcı arada sırada VPN kullanıyorsa ne olacak?
not; yukarıdaki kodla yapılabilir fakat 2 php dosyasını bi sayfaya yazınca hata alıyorum farklı sayfalara yazınca değişkeni alamıyorum...
Aldığın hata nedir?

$kayitsayisi = mysql_num_rows($kontrol);

if ($kayitsayisi == "0") {


Benim bildiğim mysql_num_rows integer değer döndürür. Ve "0" string bir değer. Bu satırı şöyle düzeltmeni öneririm:

if ($kayitsayisi == 0) {
 

 

[freenodeIRC]
PHP = #laravelTurkiye
C++ = #qtTurkiye
Python = #pythonium

emreyavuz emreyavuz Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 05.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Öğrenci
  • Konum Erzurum
  • Ad Soyad E** Y**
  • Mesajlar 132
  • Beğeniler 49 / 9
  • Ticaret 0, (%0)

kelebek adlı üyeden alıntı

Hocam mantığı basit kayıt olan kullanıcının ip adresini veritabınına kaydetireceksiniz giriş yaptığında ip adresini alıp test edeceksiniz



Cevap için teşekkürler oradaki mantığı zaten çözdüm ve kodları da yazdım fakat çalışmıyordu.Az önce çözdüm db adı host gibi şeyleri kullandığımdan dolayı çalışmıyordu sorun çözüldü.

Ek Olarak:

Ertug adlı üyeden alıntı

Sadece aklıma takıldığı için soruyorum, kullanıcı arada sırada VPN kullanıyorsa ne olacak?

Aldığın hata nedir?

$kayitsayisi = mysql_num_rows($kontrol);

if ($kayitsayisi == "0") {


Benim bildiğim mysql_num_rows integer değer döndürür. Ve "0" string bir değer. Bu satırı şöyle düzeltmeni öneririm:

if ($kayitsayisi == 0) {


yardım için teşekkürler sorun çözüldü... tavsiye için de teşekkür ederim.
 

 

wmaraci
wmaraci

kelebek kelebek WM Aracı Kullanıcı
  • Üyelik 11.05.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Geliştirici
  • Konum Malatya
  • Ad Soyad E** K**
  • Mesajlar 3142
  • Beğeniler 60 / 764
  • Ticaret 5, (%100)

emreyavuz adlı üyeden alıntı

Cevap için teşekkürler oradaki mantığı zaten çözdüm ve kodları da yazdım fakat çalışmıyordu.Az önce çözdüm db adı host gibi şeyleri kullandığımdan dolayı çalışmıyordu sorun çözüldü.


Hocam o başlarken yapılması gerek ilk şey size tavsiyem ilk olarak onu yapın :)
 

 

wmaraci
wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al