Question Am I being ignored?

IBMJunkman

Senior member
May 7, 2015
670
215
116
On my website I have a contact me page. https://www.ibmjunkman.com/cards/ContactUs.Aspx

I am getting communications from SEO people, marketing people, etc. So, either these ingrates have a way to get my email address from that page without filling it out manually or they are just ignoring the statements on the page.

Ideas?
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,280
3,903
75
There are spam bots that crawl the web looking for forms to fill out and submit. They don't care about the text on the page.

I don't see any anti-spam measures on that page. Likely the simplest way for you to block spammers is to set up a CAPTCHA, because there are lots of pre-made libraries for that. Another idea would be adding a field, hidden by CSS, that should not be filled out; but bots can sometimes find those. Or you could require that the Subject include "punch" and "card", but be sure to tell your users if you do that.
 
Reactions: lantis3

mikeymikec

Lifer
May 19, 2011
18,001
10,167
136
I wrote a contact form for my business's website and my e-mail's deleted folder is full of bot submissions (currently 88 messages in total, 83 are bot submissions).

I included a few catches in the code to try and filter out rubbish, like if anyone attempts to write 'http' it gets rejected.
 
Reactions: lantis3

ssokolow

Member
Jun 15, 2024
25
8
46
ssokolow.com
They're generally smart enough to handle the invisible box these days, so the approach I've taken for cutting down botspam on my CAPTCHA-less contact form (because CAPTCHAs punish the humans for the sins of the bots) is to do some clever content-based filtering and present a "Please correct ... and re-submit" message if the thing fails.

(Because, even if it's some kind of Mechanical Turk thing, the submitter probably doesn't have the authority to make the requested changes and is probably being paid per submission, so they will want to keep the pace up.)

Basically, there's spell-check, and grammar-check, and then there's this.

For example:
  • If the message contains HTML or BBCode link markup, reject it with a message saying to use bare links because I'll receive the message as plain text. (This keeps confused humans from forcing you to read through raw markup and stops SEO spambots dead in their tracks because working around it would de-optimize results for other sites.)
  • If the message contains links pointing to a blacklist of the most common URL shortening sites, ask the user to please use the full URL instead. (This prevents humans from disguising where their links go and prevents spammers from using link shorteners as a way to do that or wrap their URLs in click-through analytics. You can also detect URL shorteners in fancier ways, but a blacklist works well enough and requires no HTTP requests.)
  • Iterate through the message body as a list of whitespace-separated "words", counting URLs and non-URLs and refuse messages that fail a num_of_urls > num_of_non_url_words * 2 check. (This forces humans to provide descriptions and trips up the simpler SEO link-stuffing bots.)
  • Use your programming language's support for querying unicode tables to require that a minimum of one third of the characters in submitted messages be within the character set for one of the languages you are literate in. For western european languages, "within 7-bit ASCII" is a good approximation. (If it fails, present an "I only speak ______. Please include translations." message for humans. This will trip up spambots from Russia and East Asia.)
  • Extend your word-counter to refuse messages with fewer words than the shortest desirable message you can imagine. (This blocks spambots that are either broken or entirely reliant on the URL field for blog comment forms. Either way, they post a word of random gibberish or two in the message body.)
  • Use a regular expression to disallow URLs or e-mail addresses in the subject line (For extra efficacy, incorporate the Public Suffix List so you can also reliably detect and refuse bare domains in subject lines.)
Those kill the vast majority of messages all on their own but, if you want to chase the long tail, some other "I wouldn't want this from a human either" tricks include:
  • Refuse message bodies containing e-mail addresses and instruct the user to use the reply-to field in the form. (This trips up a common type of advertising copy from "Hey, site administrator. We're offering services for you." spam and they can always tell you the e-mail in their second message if their first message convinces you to reply.)
  • Refuse message bodies containing the same URL more than once (This trips up ad copy that puts the URL at the top and the bottom.)
  • Also blacklist links to common pastebin sites. (If the user wants to send you a pastebin link, they can send it to you after they've opened up a conversation.)
  • Refuse message bodies containing the word "unsubscribe" and ask the user to replace it with either a phrase like "remove me from your mailing list" or some other word that any human will recognize to mean the same thing but which isn't in the dictionary, like "de-subscribe" or "ex-subscribe". (This puts the bot between a "pretend to be a legitimate, compliant-with-the-law mailing" rock and a spam-filter hard place.)
  • Refuse messages which say the domain name in the subject line or message body (This trips up entry-level form-letter stuff like "UREGENT RE:ssokolow.com SERVICE EXPIRATION." Tell humans to please use the site's name instead.)
Notice how none of these are as fragile as the keyword-based blacklisting of the 90s, all of them are things I wouldn't want from a human either (shades of the "What if it stops a human from doing these things? "Mission ****ing accomplished" comic from the Robot 9000 introduction), and you can always combine it with a proper CAPTCHA if it's not thorough enough.

For me, without a CAPTCHA, this leaves me with maybe one botspam every month or two and that could be narrowed down further without annoying the average user with tricks like "If the message contains a URL that isn't on this list of heavily moderated things (eg. Wikipedia pages, IMDB entries, etc.) then (and only then) display a CAPTCHA" or "If the message contains words like 'telegram', 'signal', or other messaging networks, present the user with a 'Congratulations! You used the secret word! You win a CAPTCHA!' message".
 
Last edited:

IBMJunkman

Senior member
May 7, 2015
670
215
116
Thanks for the ideas. The following is a recent submission. Email address in text matched the email address in the email box. I was thinking of adding a hidden box labeled Phone. I assume the bots will put a number in there. I assume my code sees something in the field and takes action. Like not actually send the email and just return to the main page.

Are you looking for a content writer or copywriter who can write according to your ideas, follow your specific tone and style, and keep your audience in mind? I specialize in crafting content that is easy to read and consistent from start to finish. I currently work with many clients, interacting with their teams via video calls to ensure everything runs smoothly. Sometimes, clients ask me to conduct keyword research and plan content topics and points to cover. I also ensure all content is SEO-friendly. My experience includes writing blogs, articles, website copy, e-commerce product descriptions, e-books, and SEO content. I am happy to work within your budget. Feel free to reach out to me at redacted@spam.com

Actual spammer email removed to protect the innocent - Moderator Ken g6
 
Last edited by a moderator:

ssokolow

Member
Jun 15, 2024
25
8
46
ssokolow.com
I was thinking of adding a hidden box labeled Phone. I assume the bots will put a number in there. I assume my code sees something in the field and takes action. Like not actually send the email and just return to the main page.
The problem is that you need to make sure you don't confuse screen readers for blind users and it's not difficult for a bot to follow the same rules a screen reader for blind users does for determining whether a field is hidden or not.

What's equally bad is, if you get it wrong, a browser's auto-fill might fill in a field the user doesn't even know exists and can't see to empty before submission.

I generally consider hidden fields to be high-risk, low-reward in this day and age and, thus, not worth the effort.
 

IBMJunkman

Senior member
May 7, 2015
670
215
116
I am having 2nd thoughts on all this. In the last 7 days I have had 2 marketing emails and 2 that appear to be people testing the link I posted. No info was supplied. It appears to be a big to do about nothing.
 

IronWing

No Lifer
Jul 20, 2001
69,446
27,703
136
Rather than have my contact form send an email, I have it dump any submittals to a text log. Each submittal appears at the bottom of the log. Nothing craps up my inbox.
 
Jul 27, 2020
17,713
11,499
106
I had to make a portfolio page as part of a mandatory class I took so created it on WIX I think. Put my contact number there. Within two days, got two Whatsapp messages from African countries. Removed my number and so far it's been good. My portfolio page wasn't advertised anywhere. It was strictly for my lecturer's eyes so he could grade me on that.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |