Cpanel sunucular için:
home/kullanıcı_adınız/public_html/wp-content/themes/tema_adı/js/ bu dosya yoluna bir js dosyası oluşturuyoruz. örneğin ip_bul.js aşağıdaki kodları ekliyoruz.
document.addEventListener("DOMContentLoaded", function() {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.ipify.org?format=json', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
var userIP = response.ip;
console.log("Ziyaretçi IP adresi: " + userIP);
// IP adresini sunucuya gönderme (AJAX kullanarak)
var xhr2 = new XMLHttpRequest();
xhr2.open('POST', '/ip_kayit.php', true); // ip_kayit.php dosyasının yolu
xhr2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// Gönderilecek veriyi formatlayarak gönder
var formData = new FormData();
formData.append('user_ip', userIP);
xhr2.onreadystatechange = function() {
if (xhr2.readyState === XMLHttpRequest.DONE) {
if (xhr2.status === 200) {
console.log('IP adresi başarıyla gönderildi.');
// İstatistiklerin başarıyla güncellendiğini kontrol etmek için log
console.log(xhr2.responseText);
} else {
console.log('IP adresi gönderilemedi. Hata kodu: ' + xhr2.status);
}
}
};
xhr2.send(formData); // IP adresini ve istatistikleri sunucuya gönder
} else {
console.log('IP adresi alınamadı. Hata kodu: ' + xhr.status);
}
}
};
xhr.send();
});Bu javascript dosyasının çalışması için public_html/wp-content/themes/tema_adı/function.php dosyası içerisine aşağıdaki kodları yazıyoruz.function add_ip_detection_script() {
wp_enqueue_script('ip_detection', get_template_directory_uri() . '/js/ip_bul.js', array(), '1.0', true); }
add_action('wp_enqueue_scripts', 'add_ip_detection_script');Kök dizin içerisine yani public_html klasörü içerisine .php uzantılı bir dosya oluşturuyoruz. Örneğin ip_kayit.php (bu oluşturduğunuz dosya adını javascript kodları içerindeki bölümden değiştirmeyi unutmayın!) .php uzantılı dosyamıza aşağıdaki kodları yazıyoruz.<?php
$userIP = $_POST['user_ip'];
$dosya = fopen($_SERVER['DOCUMENT_ROOT'] . '/ip_list.txt', "a");
if ($dosya) {
// Ziyaret tarihini ve sayısını al
$visitTime = date('Y-m-d H:i:s');
$visitCount = getVisitCount($userIP);
// IP bilgilerini dosyaya ekle
fwrite($dosya, "$userIP - $visitTime - ($visitCount)n");
fclose($dosya);
echo 'IP başarıyla kaydedildi.';
} else {
echo 'Dosya açılamadı.';
}
// İstatistikleri güncelleme işlevi
function getVisitCount($ip) {
$lines = file($_SERVER['DOCUMENT_ROOT'] . '/ip_list.txt');
$count = 0;
foreach ($lines as $line) {
if (strpos($line, $ip) !== false) {
$count++;
}
}
return $count + 1; // Bir artır, çünkü bu ziyaretin sayısı
}
?>Yine kök dizin içerisine yani public_html içerisine ip_list.txt adında boş bir dosya oluşturuyoruz. bu .txt dosyasından ziyaretçi ip adreslerini görüntüleyebilirsiniz.Bu kadar !
NOT:
PHP kodlarının çalışıp çalışmadığını > "https://siteadresiniz.com/ip_kayit.php" uzantısı ile kontrol edebilirsiniz.
JS dosyasının çalışıp çalışmadığını ise tarayıcınızın network sekmesinden kontrol edebilirsiniz.