Примитивная антиспам проверка по ай-пи или иному способу

Тема в разделе "Программирование", создана пользователем Hwoarang7, 20.07.2016.

  1. Hwoarang7
    Offline

    Hwoarang7 Недавно здесь

    Регистрация:
    07.08.2015
    Сообщения:
    24
    Симпатии:
    3
    Пол:
    Мужской
    Всем привет!
    Собственно вопрос для спецов покажется достаточно простым, но коим в ПХП я не являюсь ни разу =) хотел его задать здесь. Кстати, думаю это тема будет крайне полезной другим людям.

    Ближе к делу, в данный момент хочу сделать кнопку заказа обратного звонка. Ничего экстраординарного, два input-a (имя и телефон) с кнопкой (заказать). Собственно скрипт на отправку сообщения на мыло прикрутил, поставил через pattern в input-ах ввод только корректной инфы цифры и буквы, а также их кол-во.

    Собственно вопрос в чем, подскажите пожалуйста люди близкие к ПХП, как сделать такую проверку, чтобы сервер чекал/проверял кто ему отправил заказ, и если попадается один ай-пи или определенное устройство которое сделало "заказ" уже более 2-3 раз за день, то не выполняет "заказ" и посылает в вежливой форме спамера или бота.

    Собственно хочу сделать простую кнопку заказать звонок, но т.к. после заказа будет отсылаться письмо на мыло, а с мыло должно будет через сервис отсылаться смс на телефон заказчика с текстом письма, т.е. с введенным в заказе именем и телефоном. Чтобы подстраховаться от тролей/спамеров/конкурентов/клоунов, нужна сие проверка, может есть способ как то это сделать по другому.

    ПС Тоже хотел задать вопрос кто делал подобные вещи, может есть способ, или какой нить халявный сервис, чтобы сразу настроить так, чтобы при вводе имени и телефона в input-ы данная инфа отправлялась в виде смс заказчику. В данный момент пока не добрался до изучения этого вопроса, т.к. делал и проверял работоспособность формы и узнавал в целом как это работает. В моем понимание это работает скриптом отправляется мылом инфа на ящик, а там уже, сервис где находиться ящик, либо иной сервис который чекает ящик, отправляет смс с полученной из мыла инфой хозяину сайта.

    Слышал что есть смс уведомления на gmail и mail.ru но там только смс уведомление о новом письме с темой письма. Собственно сразу же родилась хитрая мысль, можно ли скрипт сделать так, чтобы он отправлял инфу не в теле самого сообщения, а в его теме, т.к. там надо то не много инфы, только имя и телефон, я думаю это инфа должна вместиться в тему сообщения, а тело можно оставить пустым или с пару символом. Выглядело бы круто приходит смс с темой Александр 8-954-151-54-15 в общем допом вопрос к знающим я думаю будет очень полезна для ознакомления многим другим пользователям.

    Собственно сама форма
    Код (html):
    1. <div id="zvonok">
    2.    <form method="post" action="mail.php">
    3.      <div>Заказать звонок<input size="30.5" class="b1" type='text' pattern="[A-Za-zА-Яа-яЁё]{3,}" name='name' maxlength="11" required value='Ваше имя'/
    4.     onfocus="if (this.value=='Ваше имя') this.value='' "
    5.     onblur="if (this.value==''){this.value='Ваше имя'}">
    6.      </div>
    7.  
    8.      <div>Ваш телефон<input size="16" class="b1" type="tel" name='tel' pattern="[0-9]{6,11}" required maxlength="17" value='Ваш телефон'/
    9.     onfocus="if (this.value=='Ваш телефон') this.value='' "
    10.     onblur="if (this.value==''){this.value='Ваш телефон'}"/>
    11.      </div>
    12.      <div><input class="b3" type='submit' value='Заказать'/>
    13.      </div>
    14.    </form>
    15. </div>

    Сам скрипт
    Код (html):
    1. <?
    2. if($_POST['name']){
    3.  $znach = array(
    4.  1 => $_POST['name'],
    5.  2 => $_POST['tel'],
    6.  );
    7.  mail("evac66.loc", "Заказ Звонка".$_SERVER['HTTP_REFERER'],  
    8.  $znach[1]." ".
    9.  $znach[2]
    10. );
    11. }
    12. Header("Refresh: 3; URL=".$_SERVER['HTTP_REFERER']);
    13. ?>
    14.  
    15. <!DOCTYPE html>
    16. <title><? print "$znach[1], данные успешно отправлены!"; ?></title>
    17. <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
    18. <meta name="robots" content="noindex"/>
    19.  div {padding-top: 3%;}
    20. </style>
    21.  
    22. <div>
    23. <div style="margin-left: 450px; margin-top: -25px;"><label title="Продолжить" ></label></div>
    24. <div style="margin-top: -25px;"><? print "$znach[1]"; ?>, Ваша заявка получена!<br>
    25. Мы позвоним Вам в течении часа.</div>
    26. </div>
    27.  
    28. <script>
    29. document.getElementsByTagName('label')[0].onclick = function() {
    30.   window.location.href="<? print $_SERVER['HTTP_REFERER']; ?>"
    31. }
    32. </script>
     
  2.  
  3. Hwoarang7
    Offline

    Hwoarang7 Недавно здесь

    Регистрация:
    07.08.2015
    Сообщения:
    24
    Симпатии:
    3
    Пол:
    Мужской
    Все, впринципе вопрос с отправкой смс решен, не так сложно как казалось, воспользовался сервисом http://sms.ru клевая штука, регаешься как программист редактируешь настройки под этого дело (спс мануалу, по которому я это делал) и вуаля, письмо отравленное скриптом с сервера на указанное мыло данного сервиса, и через пару сек приходит смс с указанными данными, единственное я не много подредактировал, чтобы имя и телефон дублировались в теме письма, и теперь получая смс и просмотра его с андроида, можно сразу нажатием на смс-ку набрать указанный номер из темы сообщения.

    Но основной вопрос спам/бот проверки остается открытым, заранее благодарю, всех кто не будет равнодушным к чужим проблемам
     
  4. Asylum
    Offline

    Asylum Местный => Cпециалист <=

    Регистрация:
    09.02.2007
    Сообщения:
    2 744
    Симпатии:
    160
    Пол:
    Мужской
    Боюсь что смс-кой отпугнете многих желающих. И проверка по IP не панацея, во первых они меняются, а во вторых спам может идти со взломанных сайтов и компьютеров, а на одном IP может висеть целая сеть. Как показывает практика, капчи вполне хватает

    Пардон, не внимательно прочитал про СМС, из практики - заказ звонка мало кто делает, если нужно, то и сами позвонят без проблем. А вот всякие чаты на сайте востребованы, сервисов много, клиента можно поставить на телефон
     
    Последнее редактирование: 25.07.2016

Поделиться этой страницей

Загрузка...