MAC средствами php

Discussion in 'PHP' started by barnaki, 13 Mar 2009.

  1. barnaki

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

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    есть ли возможност при помощи php узнать mac адрес или какой нить другой уникальный идентфикатор компа. и если да то как это делаеться
     
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Если через ком. строку можно, то и через пхп тоже:
    PHP:
    echo system("комманда которая узнает мак-адр");
     
  3. SleepShadowWeb

    Joined:
    2 Feb 2006
    Messages:
    26
    Likes Received:
    15
    Reputations:
    0
    PHP:
    <?
        
    $arp=null;
        
    $arp=array();
            
    exec("ping ".$REMOTE_ADDR." -n 1 -l 1 -f -r 1");
            
    exec("arp -a ".$REMOTE_ADDR,$arp);
        
    $temp=ereg_replace(" +"," ",$arp[0]);
        
    $temp=explode(" ",$temp);
        print 
    "IP: ".$temp[1]."<br>";
        print 
    "MAC: ".$temp[3];
    ?>
     
  4. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    Как правило это бессмысленно, так как MAC мы можем узнать только у последнего маршрутизатора. И как правило мы получаем МАC именно нашего маршритизатора, а не пользователя.
     
    1 person likes this.
  5. OdaN

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

    Joined:
    4 Mar 2006
    Messages:
    192
    Likes Received:
    17
    Reputations:
    1
    +1 Работать будет только в несегментированной локалке...
     
  6. barnaki

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

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    спасибо. тогда такой вопрос. вообщем есть сайт на котором человек гадит. и надо его как то заблокировать. но проблема в том что у него динамический ip.
    то есть даже если через htaccses заблокировать какой то диапазон то или вся его сеть может уйти спать или вообще весь провайдер. может кто подскажет как его заблокировать . максимально эффективно
     
  7. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Если только кукисы поставить или по юзерагенту (если он у него специфический), или явой можешь попробовать узнать какие то специфичные параметры и по ним блокировать, например http://www.qualitycodes.com/tutorial.php?articleid=19

    Правда если юзер не дурак, то заблокировать не получится
     
    _________________________
  8. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    На этот случай панацеи не бывает, и если как сказал Kaimi пользователь не дурак, то даже бан по диапозону не спасёт.
    Как вариант, можеш почитать про супербан.
    http://old.antichat.ru/txt/superban/
     
  9. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Все зависит от технических знаний пользователя, любой супер бан можно обойти(http://old.antichat.ru/txt/superban/ - отключаем js и все а блокировать или заставлять включать js всех пользователей у которых отключен js это не есть гуд), можешь whois его ип банить диапозон ип его прова - но он может легко воспользоваться прокси что обойти твой бан. Можешь схитрить и делать тот же супер бан например посредством flash банера на сайте, но опять же все зависит от технических знаний пользователя.
     
  10. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    http://habrahabr.ru/blogs/php/38359/
     
  11. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    вот эти свойства поделываються в 2 клика

    [browser_name] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_2; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.1 Safari/525.18
    [browser_name_regex] => ^mozilla/5\.0 \(macintosh; .; .*mac os x.*\) applewebkit/.* \(.*\) version/3\.1.* safari/.*$
    [browser_name_pattern] => Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.1* Safari/*
    [Parent] => Safari 3.1
    [Platform] => MacOSX
    [Browser] => Safari
    [Version] => 3.1

    все остальные крайне не уникальны

     
  12. rcc0023

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

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    1. php => заносить все ипы в отдельную базу
    2. cron => чекать (и потом банить) занесенные ипы на прокси
    3. php => вывести (если кто то зашел с прокси) сообщение что мол нельзя использовать прокси
    4. php => забанить ip спамера
    5. php => все сообщения молча удалять.

    работает на ура.
     
  13. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    2rcc0023 а если этот герой сидит под НАТом с динамическим IP, то банить весь диапозон?
    Да и все прокси всёравно не забанить...
    Если это форум, то можно сделать так:
    1. Запретить свежезарегенным юзерам оставлять сообщения в течении первых 10-и(24) часов после регистрации.
    2. Запретить оставлять сообщения без подтверждения почты.
    3. Во время блокировки акка, заносить почту в бан-лист.

    А дальше как и сказал rcc0023 "5. php => все сообщения молча удалять."
     
  14. rcc0023

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

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    + можно не банить, а по умному удалять. Точнее сделать скрипт, который каждые 3 минуты будет смотреть в сообщениях 'плохие слова' и удалять.

    Спам уйдет на нет. xD
     
    #14 rcc0023, 16 Mar 2009
    Last edited: 16 Mar 2009
  15. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    ХМ не легче тогда уже сделать фильтр на эти 'плохие слова' прежде чем заносить их в базу без всяких извратов со скриптом через 3 минуты.
     
  16. rcc0023

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

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    PaCo, легче!!!! Но я описал одну из возможностей отбить спамера.

    ...Когда программисту нечего 'обходить', но при этом со временем он заходит и видит что уже сообщения нет, он добавит снова (естественно РУКАМИ, так как писать программу не для ЧЕГО).. и снова, когда увидит что опять удалили...

    - намного его не хватит
    - форум живет (есть спамеры, есть МОДЕРАТОРЫ)