A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_URI::$config is deprecated

Filename: core/URI.php

Line Number: 101

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Router::$uri is deprecated

Filename: core/Router.php

Line Number: 127

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$benchmark is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$hooks is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$config is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$log is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$utf8 is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$uri is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$exceptions is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$router is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$output is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$security is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$input is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$lang is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$load is deprecated

Filename: core/Controller.php

Line Number: 78

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$db is deprecated

Filename: core/Loader.php

Line Number: 390

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_DB_mysqli_driver::$autoinit is deprecated

Filename: database/DB_driver.php

Line Number: 371

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 113

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 280

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 145

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 223

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 303

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 344

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$session is deprecated

Filename: core/Loader.php

Line Number: 1290

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$pagination is deprecated

Filename: core/Loader.php

Line Number: 1290

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$email is deprecated

Filename: core/Loader.php

Line Number: 1290

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$ders_model is deprecated

Filename: core/Loader.php

Line Number: 353

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$bilgi_model is deprecated

Filename: core/Loader.php

Line Number: 353

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$data is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$benchmark is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$hooks is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$config is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$log is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$utf8 is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$uri is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$exceptions is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$router is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$output is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$security is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$input is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$lang is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$load is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$db is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$session is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$pagination is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$email is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$ders_model is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$bilgi_model is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$makale_model is deprecated

Filename: core/Loader.php

Line Number: 353

A PHP Error was encountered

Severity: 8192

Message: setcookie(): Passing null to parameter #7 ($httponly) of type bool is deprecated

Filename: core/Input.php

Line Number: 410

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$yorum_model is deprecated

Filename: core/Loader.php

Line Number: 353

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$makale_model is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$yorum_model is deprecated

Filename: core/Loader.php

Line Number: 925

ip2long() ve long2ip() Fonksiyonları Kullanımı (Veritabanına IP Adresi Kaydetmek)
Öneri ve Hata Raporu



Günün Sözü İnsan kafasında ne kurarsa, onu yaşar.

kategori PHP
oylama 3/5 yorum 0 yorum yazar Hakan Taşan tarih 21 Haziran 2015

IP adresi kayıtlarını IP kontrolleri, IP yasaklama, hit sayma, oylama yapma vb. gibi nedenlerle tutmamız gerekebilir. Ancak veritabanında IP adresi tutmak çok güvenli bir yöntem değildir. Bu yüzden PHP'nin bize sağladığı ip2long() ve long2ip() fonksiyonları ile IP adreslerini sayısal değerlere dönüştürüp veritabanına kayıt işlemleri yapılmalıdır. Basit anlaşılması için md5 ile şifrelemek gibi düşünebilirsiniz. Fonksiyon kullanımlarını açıklamadan önce birkaç bilgi vermekte fayda var.

  • 32 bitlik verinin ister signed olsun ister unsigned olsun alabileceği maksimum değer onluk sisteme göre 232'dir.
  • 32 bitlik signed değer aralığı –2,147,483,648 ile 2,147,483,647
  • 32 bitlik unsigned değer aralığı 0 ile 4,294,967,295

 

ip2long() Fonksiyonu Kullanımı

ip2long() fonksiyonu IP adresini 32 bitlik signed (işaretli) bir değere dönüştürür (ya negatif ya da pozitif bir değer). Eğer pozitif bir değer dönerse problem değil ama negatif bir değer dönerse bunu printf kullanarak pozitif bir değere dönüştürmeliyiz. Dönüştürme işlemi şu şekilde gerçekleşiyor; örneğin -5000 sayısını elde ettik diyelim, 32 bitten elde edilebilecek toplam sayıdan yani 4,294,967,296'dan 5000 çıkardığımızda IP adresinin pozitif değerini bulmuş oluruz. Daha sonra elde ettiğimiz değeri veritabanına kaydedebiliriz. Sizin için bu aritmetik işlemler önemli değil, fonksiyon bunları otomatik olarak zaten yapıyor, sadece fonksiyonun nasıl çalıştığını anlattım. Örneği inceleyince olay daha iyi anlaşılacaktır.

Örnek

<?php 
    $ip = "192.0.35.122";
    $long = ip2long($ip);
    echo $long;    // Çıktı: -1073732742
    printf("%u", $long);    // Çıktı: 3221234554
    // 4294967296 - 1073732742 = 3221234554
?>

 

long2ip() Fonksiyonu Kullanımı

long2ip() fonksiyonu ip2long() fonksiyonundan elde ettiğimiz değeri tekrar IP adresine dönüştürür. Bir nevi ip2long() fonksiyonunun sağlaması diyebiliriz.

<?php
    $ip = long2ip(3221234554);
    echo $ip;    // Çıktı: 192.0.35.122
?>

 

paylaş Paylaş
oylama yap Oyla

makale yorumları YORUMLAR

Bu makale için yorum yazılmamış