Спам-боты и формы ввода - PullRequest
       5

Спам-боты и формы ввода

0 голосов
/ 30 августа 2018

У меня есть форма PayPal на моем веб-сайте, которая включает мою электронную почту:

<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="business" value="email@samplemail.com">

Интересно, могут ли спам-боты сканировать это скрытое поле, чтобы найти мою электронную почту, чтобы отправить мне спам, если да, как я могу предотвратить это?

Ответы [ 4 ]

0 голосов
/ 07 сентября 2018

Лучше всего ставить запутанное значение где-нибудь в документе и использовать js, чтобы поместить его в нужное место.

Например:

<script>
    var wtf = 'm'+'a'+'i'+'l'+'&'+'#'+'6'+'4'+';'+'s'+'a'+'&'+'#'+'1'+'0'+'9'+';'+'&'+'#'+'1'+'1'+'2'+';'+'l'+'e'+'m'+'&'+'#'+'9'+'7'+';'+'i'+'l'+'&'+'#'+'4'+'6'+';'+'c'+'o'+'m';
    // sets wtf to 'mail@samplemail.com'

    $('#yourfield').val(wtf); // sets value of a field to wtf (assumes jQuery)
</script>

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

Чтобы обмануть пользовательские парсеры, вам понадобятся некоторые функции на стороне сервера, чтобы запутать код js / html. Цель этого состоит в том, чтобы скрыть любые дескрипторы, которые могут использоваться для разбора строки. Например:

  • Случайный идентификатор поля / имя / место размещения
  • Случайное имя переменной js
  • Рандомизированное запутывание, которое:
    • иногда использует ASCII-код символа,
    • иногда использует символ,
    • поместите символы случайных чисел в одну строку, например, 'М' + 'аи' + '\ & # x6C'
    • использует различные функции соединения, например, String.join (), + и Array.reduce ()
    • и т.д.

Эти уловки должны отпугнуть большинство сценаристов

0 голосов
/ 03 сентября 2018

Боты могут иметь доступ к коду через инструменты разработчика (нажмите F12) или проверить в chrome. Если вы действительно хотите предотвратить ботов, спамеров и т. Д., Вы должны использовать другое бесплатное электронное письмо (например, mail.com) в качестве значения. Или вы можете использовать сильные блокировщики спама на вашей электронной почте, если хотите.

0 голосов
/ 07 сентября 2018

ИМХО, лучший способ сделать это - прокси-ответ через CGI-процесс на вашем сервере и вообще не показывать адрес электронной почты в HTML. Для большинства людей это не является началом, и в качестве запасного варианта я хотел бы установить поле адреса электронной почты с JS где-то на странице, а не просто показывать предварительно заполненное поле для анализа даже самого простого скребка.

0 голосов
/ 03 сентября 2018

Несмотря на то, что вы не можете остановить спам-ботов, есть несколько вещей, которые вы можете сделать, чтобы помочь:

Многие спам-боты, как правило, ищут символ @ в вашем коде, поэтому вы можете использовать альтернативу, такую ​​как:

  • youremail-at-example.com

  • youremail (в) example.com

  • youremail AT пример DOT com

Вы также можете использовать коды символов ASCII, которые являются кодами для определенных символов. Для знака @ код & # 64

Хотя это и замаскирует ваш знак @, многие спам-боты могут обнаруживать коды ASCII.

Существуют и другие варианты, такие как добавление javascript, использование изображения, использование файла TXT робота, но вы можете щелкнуть ссылку ниже для получения дополнительной информации и идей.

Вы можете посмотреть намного больше деталей и идей, чтобы защитить вашу электронную почту от спам-ботов здесь

...