Jak na archivaci IP adres návštěvníků

V dnešním článku se zaměřím na jednoduchý způsob uchování IP adres návštěvníků webových stránek

Pro zaznamenání IP adresy návštěvníka využijeme databázi MySQL, ve které si vytvoříme tabulku po názvem ip_adresy. V tabulce vytvoříme tři sloupce id, ip a datum.

Sloupec id bude typu INT o délce 20, nastavíme jej jako primární a přiřadíme mu funkci AUTO_INCREMENT. Pro sloupec ip použijeme typ VARCHAR s délkou 15. Pro sloupec datum využijeme datový typ DATETIME.

V této fázi máme hotovou tabulku pro ukládání dat. Nyní přistoupíme k tvorbě samotné třídy na uchování IP adresy. Ano, použít OO PHP v tomto případě je asi zbytečné. Stačila by jedna funkce, ale vede mě k tomu fakt, kterým je postupné vrytí OO PHP za kůži čtenáře.

U třídy stačí využití konstruktoru, který se postará o veškerou logiku věci:

1
2
3
4
5
6
7
<?php
  class ArchivaceIP{
    public function __construct($ip){
      @mysql_query("INSERT INTO ip_adresy (ip,datum) VALUES ('".$ip."',NOW())");
    }
  }
?>

V dalším textu předpokládám, že na začátku souboru index.php máte nastavené připojení k databázi a definovanou funkci autoload.

Nyní se vrhneme na samotné použití naší třídy. IP adresu návštěvníka získáme z globální proměnné $_SERVER[‚REMOTE_ADDR‘], tuto proměnou budeme předávat do parametru naší třídy.

1
2
3
<?php
  $ip = new ArchivaceIP($_SERVER['REMOTE_ADDR']);
?>

Nyní máme iplementaci uchování IP adres hotovou, jedná se o jednoduchý nástřel a ukázku, kterou si může čtenář rozšířit jak mu je libo. Využítí archivace IP je například při omezení hlasování u anket.

O Petr Láslo

Student ČVUT FJFI katedry softwarového inženýrství v ekonomii. Mezi jeho zájmy patří programování a sport. Autor má zkušenosti s PHP 5, MySQL, XHTML a CSS. Zajímá se o platformu .NET, jazyk C#, ASP.NET a WPF.