lostyazilim
tr.link

Kullanıcı ip alma ve veri tabanına yazdırma nasıl yapılır

13 Mesajlar 2.058 Okunma
acebozum
tr.link

patron55 patron55 WM Aracı Kullanıcı
  • Üyelik 22.04.2018
  • Yaş/Cinsiyet 25 / E
  • Meslek öğrenci
  • Konum Samsun
  • Ad Soyad I** B**
  • Mesajlar 101
  • Beğeniler 28 / 2
  • Ticaret 0, (%0)
Kullanıcı ip alma ve veri tabanına yazdırma nasıl yapılır

function GetIP(){
if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
if (strstr($ip, ',')) {
$tmp = explode (',', $ip);
$ip = trim($tmp[0]);
}
} else {
$ip = getenv("REMOTE_ADDR");
}
return $ip;
}


Bu şekilde bi kod buldum ama nasıl yazdırıcağımı bulamadım yardımcı olabilirmisiniz
 

 

elektronikssl
webimgo

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Php taraflı değişken kullanımını tam bilmiyorum fakat şuna benzer bir şeydir tahminimce

$IpAdresi = GetIp();

INSERT INTO bilgiler (ip) VALUES ($IpAdresi)

gibi bir şeydir.
patron55

kişi bu mesajı beğendi.

www.ontedi.com
www.cizgi.site

MehmetMasa MehmetMasa WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 26 / E
  • Meslek Yazılımcı
  • Konum İzmir
  • Ad Soyad M** M**
  • Mesajlar 1946
  • Beğeniler 552 / 554
  • Ticaret 40, (%100)
Ipyi bulup degiskene atamissiniz veri tabanina ekletme islemine bakin ( insert )
patron55

kişi bu mesajı beğendi.

patron55 patron55 WM Aracı Kullanıcı
  • Üyelik 22.04.2018
  • Yaş/Cinsiyet 25 / E
  • Meslek öğrenci
  • Konum Samsun
  • Ad Soyad I** B**
  • Mesajlar 101
  • Beğeniler 28 / 2
  • Ticaret 0, (%0)
$IpAdresi = GetIp(); bu şekilde aldım ama hata veriyor ontedi
 

 

wmaraci
wmaraci

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Php bilmiyorum, açıkçası bir fikir vermek için bir şeyler karaladım. Gerisi sende :)
patron55

kişi bu mesajı beğendi.

www.ontedi.com
www.cizgi.site

hakanozsoy hakanozsoy WM Aracı Kullanıcı
  • Üyelik 27.01.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Meslek yok
  • Konum İstanbul Anadolu
  • Ad Soyad H** Ö**
  • Mesajlar 67
  • Beğeniler 3 / 11
  • Ticaret 0, (%0)
Hocam

echo GetIp();


Bunun başka çağirma alternatifi yok. Eger class icinde kullaniyorsaniz.


$class = new site();
echo $class->GetIp();


Birde bu var. Eğer çalistiramadiysaniz aldiginiz hatayi yazarsaniz ona gore bir şey söyleyebilirim.
patron55

kişi bu mesajı beğendi.

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)
şöyle bir yol iznelebilir,

$ip = $_SERVER['HTTP_CLIENT_IP']?$_SERVER['HTTP_CLIENT_IP']:($_SERVER['HTTP_X_FORWARDE​D_FOR']?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['REMOTE_ADDR']);

if(is_array($ip)){ $ip = implode(",",$ip); }

$pdo->query(insert into ips (username,ip_address) values ($username,$ip));

takıldığınız bir yer varsa srun hocam
patron55

kişi bu mesajı beğendi.

haliluunal haliluunal Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 19.06.2018
  • Yaş/Cinsiyet 28 / E
  • Meslek Ağ ve bilgisayar sistemleri yö
  • Konum Ankara
  • Ad Soyad H** Ü**
  • Mesajlar 665
  • Beğeniler 80 / 270
  • Ticaret 0, (%0)
Kullandığınız kod, güvenli değil.Saldırmak isteyen birisi sahte header yollayarak bypass edebilir.
GÜVENLİ OLAN KOD :
$ipadres = $_SERVER['REMOTE_ADDR'] ;
KOLAY GELSİN
patron55

kişi bu mesajı beğendi.

SancarSaran SancarSaran WM Aracı Kullanıcı
  • Üyelik 14.01.2018
  • Yaş/Cinsiyet 52 / E
  • Meslek Programcı
  • Konum İzmir
  • Ad Soyad S** S**
  • Mesajlar 319
  • Beğeniler 4 / 111
  • Ticaret 0, (%0)

function getIpAddress()
{
// Check for shared internet/ISP IP
if (!empty($_SERVER['HTTP_CLIENT_IP']) && validateIp($_SERVER['HTTP_CLIENT_IP'])) {
return $_SERVER['HTTP_CLIENT_IP'];
}

// Check for IPs passing through proxies
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// Check if multiple IP addresses exist in var
$iplist = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
foreach ($iplist as $ip) {
if (validateIp($ip)) {
return $ip;
}
}
}

if (!empty($_SERVER['HTTP_X_FORWARDED']) && validateIp($_SERVER['HTTP_X_FORWARDED'])) {
return $_SERVER['HTTP_X_FORWARDED'];
}

if (!empty($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) && validateIp($_SERVER['HTTP_X_CLUSTER_CLIENT_IP'])) {
return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
}

if (!empty($_SERVER['HTTP_FORWARDED_FOR']) && validateIp($_SERVER['HTTP_FORWARDED_FOR'])) {
return $_SERVER['HTTP_FORWARDED_FOR'];
}

if (!empty($_SERVER['HTTP_FORWARDED']) && validateIp($_SERVER['HTTP_FORWARDED'])) {
return $_SERVER['HTTP_FORWARDED'];
}

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { //cloudflare
return $_SERVER["HTTP_CF_CONNECTING_IP"];
}
// Return unreliable IP address since all else failed
return $_SERVER['REMOTE_ADDR'];
}

function validateIp($ip)
{
if (filter_var($ip, FILTER_VALIDATE_IP,
FILTER_FLAG_IPV4 |
FILTER_FLAG_IPV6 |
FILTER_FLAG_NO_PRIV_RANGE |
FILTER_FLAG_NO_RES_RANGE) === false) {
return false;
}

return true;
}
patron55

kişi bu mesajı beğendi.

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)

haliluunal adlı üyeden alıntı

Kullandığınız kod, güvenli değil.Saldırmak isteyen birisi sahte header yollayarak bypass edebilir.
GÜVENLİ OLAN KOD :

KOLAY GELSİN


teknik olarak hepsi atlatılabilir hocam, proxy kullanıyorsa remote ip de yalan oluyor.

Eğer ip adres çok önemli ise şu tarz https://gist.github.com/cballou/2201933 minik kütüphaneleri kullanabilirsiniz.
patron55

kişi bu mesajı beğendi.

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al