$_SERVER['HTTP_CLIENT_IP']

Discussion in 'PHP' started by Befan, 14 Jun 2012.

  1. Befan

    Befan New Member

    Joined:
    27 Mar 2012
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    парни как на PHP $_SERVER['HTTP_CLIENT_IP'] записать в таблицу mysql? точнее какой формат таблицы должен Быть в базе , чтоб я смог записать ip?
     
  2. Metal-Core

    Metal-Core Member

    Joined:
    20 Sep 2011
    Messages:
    219
    Likes Received:
    21
    Reputations:
    0
    Пишет в колонку "ip"
    PHP:
    $ip $_SERVER['REMOTE_ADDR'];
    mysql_query "INSERT INTO metalcore (`ip`) VALUES ('$ip')") or die(mysql_error());
     
    #2 Metal-Core, 14 Jun 2012
    Last edited: 14 Jun 2012
    1 person likes this.
  3. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    INSERT INTO my_fuckers VALUES (ip,$_SERVER['HTTP_CLIENT_IP'])
     
  4. Darth Padla

    Darth Padla Member

    Joined:
    21 Jun 2010
    Messages:
    141
    Likes Received:
    25
    Reputations:
    8
    формат в базе - банально TEXT
    хотя лучше TINYTEXT
    а еще VARCHAR можно
     
  5. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    VARCHAR(15) или INT. Во втором случае пишется что-то типа ip2long($ip)
     
  6. .Varius

    .Varius Elder - Старейшина

    Joined:
    5 May 2009
    Messages:
    558
    Likes Received:
    289
    Reputations:
    42
    Code:
    mysql> SELECT INET_ATON('10.0.5.9');
            -> 167773449
    
    To store values generated by INET_ATON(), use an INT UNSIGNED column rather than INT.

    INET_ATON() may or may not return a non-NULL result for short-form IP addresses (such as '127.1' as a representation of '127.0.0.1'). Because of this, INET_ATON()a should not be used for such addresses.
     
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    .Varius для собственного блага - лучше не стоит использовать мускульные функции в контексте обработки входных данных от пользователя.
     
    _________________________
  8. Metal-Core

    Metal-Core Member

    Joined:
    20 Sep 2011
    Messages:
    219
    Likes Received:
    21
    Reputations:
    0
    Эт еще почему ?
     
  9. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Metal-Core потому что это потенциальная лазейка для инъекций. Например, этот код не безопасен:
    PHP:
    $login $_POST['login'];
    $password $_POST['password'];
    $query mysql_query("SELECT `id` FROM `accounts` WHERE `login`='".mysql_real_escape_string($login)."' AND `password`=MD5('".$password."')");
    А такой безопасен
    PHP:
    $login $_POST['login'];
    $password $_POST['password'];
    $query mysql_query("SELECT `id` FROM `accounts` WHERE `login`='".mysql_real_escape_string($login)."' AND `password`='".md5($password)."'");
    И первый код - реален, потому что кажется, что кроме md5 там быть ничего не может
     
    _________________________