Ищу php скрипт стучалки на e-mail про ip адрес вошедшего

Тема в разделе "PHP", создана пользователем bezzubtsev, 9 авг 2017.

Статус темы:
Закрыта.
Модераторы: latteo
  1. bezzubtsev

    bezzubtsev

    Регистр.:
    14 май 2015
    Сообщения:
    260
    Симпатии:
    78
    Что-то ничего нормального не могу найти, прошу помощи. Может у кого под рукой лежит ссылка или скрипт.

    Суть задачи: html страница после удачного входа.
    Скрипт проверил нет ли кукиса e-mailed=yes
    Отправил мне на почту e-mail с указанием правильного IP (код есть ниже)
    Отправил и добавил куку - что второй и дальше раз не надо отправлять мне e-mail
    <?PHP

    function getUserIP(){
    $clientIp = @$_SERVER['HTTP_CLIENT_IP'];
    $forwardIp = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remoteIp = $_SERVER['REMOTE_ADDR'];

    if(filter_var($clientIp, FILTER_VALIDATE_IP))
    {
    $ip = $clientIp;
    }
    elseif(filter_var($forwardIp, FILTER_VALIDATE_IP))
    {
    $ip = $forwardIp;
    }
    else
    {
    $ip = $remoteIp;
    }

    return $ip;
    }


    $user_ip = getUserIP();

    echo $user_ip;


    ?>
     
  2. Mons

    Mons

    Регистр.:
    2 апр 2006
    Сообщения:
    1.590
    Симпатии:
    917
    PHP:
    if(!isset($_COOKIE["test"])) {  //поиск наличия куки
       
    setcookie("test2""1");  //установка куки
       
    $admin_email 'тут твоя почта'//куда писать
       
    $user_ip getUserIP(); //не забыть рядом добавить функцию
       // кука есть, добавил вторую. Письмо не отправляется
       
    } else {
       
    // куки нет. Письмо  отправляется
       
    $mailtext="".$user_ip."";
       
    $headers="Content-Type: text/html; charset=utf-8\n";
       
    $headers.="From: откуда@письмо.ру\nX-Mailer: SuperMailer";
       
    mail("".$admin_email ."","заголовок ".$_SERVER['SERVER_NAME'],$mailtext,$headers);
    }
    Как-то на на вскидку. Если что местами поменять можно содержимое.
    Комментарии присутствуют
     
    bezzubtsev нравится это.
  3. Minor

    Minor

    Регистр.:
    16 авг 2012
    Сообщения:
    235
    Симпатии:
    88
    Чуть поправил код из поста выше, по идее ТС так хотел

    Код:
    if (!isset($_COOKIE["e-mailed"]) || ($_COOKIE["e-mailed"]!='yes')) { //если куки нет или она имеет значение отлично от yes, то
     setcookie("e-mailed", "yes"); //установка куки
     $admin_email = 'тут твоя почта'; //куда писать
     $user_ip = getUserIP(); // функцию добавить вниз скрипта
    
     $headers="Content-Type: text/html; charset=utf-8\n";
     $headers.="From: откуда@письмо.ру\nX-Mailer: SuperMailer";
     mail($admin_email,"Зафиксирован новый пользователь",$user_ip,$headers);
    }
    
     
    bezzubtsev нравится это.
  4. Rammstein_91

    Rammstein_91 Писатель

    Регистр.:
    30 июн 2015
    Сообщения:
    9
    Симпатии:
    0
    Варианты выше очень хороши, но чтобы не дергать сервер каждый раз (если входить будут много и часто), то можно сначала сделать проверку на JS/jQuery на проверку куки. Если нет куки, то отправить аяксом запрос в php-скрипт на отправку письма (код с проверкой куки в постах выше). А если есть кука, то ничего не отправлять. Если у пользователя отключен джаваскрипт, то уже проверять будет php, а для всех остальных будет рубиться отправка письма уже на стороне клиента.

    Вот тут описан код для JS.
     
  5. bettelli

    bettelli Создатель

    Регистр.:
    16 сен 2017
    Сообщения:
    28
    Симпатии:
    7
    I have the same issue, i will try to repair with this, is valid for PHP 5.60?
     
Статус темы:
Закрыта.