SEOClerks

Cyber Security : Protect your Email From Content Scrapers Tutorial



Write the reason you're deleting this FAQ

Cyber Security : Protect your Email From Content Scrapers

An email scraper could be a simple script or software that is built to collect email addresses online from any kind of url without having to visit them manually. With that being said, these softwares can scrape only email addresses which are written in text form in your website. For example if your email address is located somewhere to your website it means that your email address is vulnerable to these email scrapers so in short it means that your email can be easily scraped and spammed from spammers.

But like i said these softwares can scrape only text, and that it's a good thing because it gives us a chance to protect our email from being scraped. There are many ways to protect your email from these softwares, I'll mention some of the most effective techniques below.

Cyber Security : Protect your Email From Content Scrapers


1. Add your email address as an image to your website, forget the simple text , what you have to do is that simply create an image with your email address on it, and place it to your website.

2.Update frequently your website source code, now that is very important because these softwares works through an algorithm that is based on your site source code, you need only to change your html class and some id of the location where your email address is.

3.Encode your email address manually in this way : myemail{at}myemail[dot]com, most of these softwares can't scrape emails that are written in this form.

4.Encode your email address via some online email encoders, there are plenty of free online tools that you can use to encode your email address.

5.Setup reCAPTCHA for your website, cpatcha's are a very effective method to stop any kind of bot from scraping and visiting your website. reCAPTCHA is a free service offered by Google.



Thank you for reading!

Hope this helps!


Best regards,
procoder

Comments

Please login or sign up to leave a comment

Join
Lynne
Oh thank you Procoder, when Anwebservices redid my website he removed my email address from my contact page and put in a contact form instead. I guess this would be a much better way of doing it right?

Is there any way for the content scrapers to get my email if it is not viewable on my website?

I get quite a lot of spam which I find quite annoying. I am constantly unsubscribing from newsletters and a lot of the spam doesn't have an unsubscribe option which I guess is probably typical. If they are going to spam you why have an unsubscribe option right?

What can you do with emails sent without you signing up? Like can you send them to a site that reports those email address for example?



Are you sure you want to delete this post?

procoder
You're welcome Lynne! As long as your email address it's not visible on the site it means that they can't scrape, so yeah a contact form it's much better than a simple email address in text form. About spamming, it's not that you can do much in this matter, they'll still find a way to spam you if your email address if it's in their list. I'm talking about spamming emails, not emails with unsubscribe button, most of these emails don't have an button to unsubscribe because it's just a spam. But you can always setup filters to block these emails, that's all you can do.



Are you sure you want to delete this post?

Lynne
Yeah that's what I thought, it doesn't seem like there is much that can be done except add those address and domains to my spam list.



Are you sure you want to delete this post?

Cristian
Hmm, this is true, I left my email addresses all over the place, who know how much my emails have already been scrapped!
I wonder if you cold use such an email scraper to find a particular email address! I would like to know on which websites and what profiles my emails is in text format so I can remove it from those sources to protect myself from hackers and spam of course!

Never used an email scraper before, any free or cheap variations around that can trace a particular email address?



Are you sure you want to delete this post?

procoder
Hmm, you don't need a software to do that, simply give it a search on google, I'm pretty sure that you can find if it's published or uploaded somewhere.



Are you sure you want to delete this post?

Corzhens
When the website uses a captcha, it gives me confidence that I am somehow protected regarding the website that I am joining since the captcha is a good screening measure against spammers. I always think that when a spammer gets inside a forum or a blog, there is the tendency for the users there to be spammed. That’s why a website that employs captcha gives me a sense of security.



Are you sure you want to delete this post?

Order Now
Process Time: 0.27355694770813

Possible Duplicate queries found!
MatchCountSQLScript
SELECT * FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='20396'1SELECT q.*, c.seo as CatSEO, c.name as CatName, c.parentid FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='20396'

/opt/clerks-staging/docroot/viewfaq.php 496 () ()

SELECT * FROM seoclerks.members WHERE USERID='377074'1SELECT * FROM seoclerks.members WHERE USERID='377074'

/opt/clerks-staging/docroot/include/functions/includes/member.php 445 GetAllUserDetails() ()

SELECT * FROM seoclerks.members WHERE USERID=3770741SELECT googleplus_profile FROM seoclerks.members WHERE USERID=377074

/opt/clerks-staging/docroot/include/functions/main.php 16914 GetGooglePlusProfileFromId() ()

SELECT * FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=20396 LIMIT 51SELECT m.username FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=20396 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM answers a, seoclerks.members b WHERE a.quesid='20396' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc1SELECT a.answer, a.USERID, a.upvotes, a.downvotes, a.ansid, a.parentid, a.combined_votes, a.date_answered, b.username, b.userlevel, b.profilepicture FROM answers a, seoclerks.members b WHERE a.quesid='20396' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc

/opt/clerks-staging/docroot/viewfaq.php 1245 () ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111132 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111132 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111175 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111175 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111330 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111330 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111329 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111329 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111371 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=111371 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=156462 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=156462 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

UPDATE questions SET total_views = total_views + 1 WHERE quesid='20396'1UPDATE questions SET total_views = total_views + 1 WHERE quesid='20396'

/opt/clerks-staging/docroot/include/functions/main.php 1765 update_Faqviewcount() ()

SELECT * FROM questions WHERE quesid!='20396' AND status='1' AND (question like '%Cyber Security : Protect Email Content Scrapers%' OR question like '%Cyber%' OR question like '%Security%' OR question like '%Protect%' OR question like '%Email%' OR question like '%Content%' OR question like '%Scrapers%') -- ORDER BY RAND() LIMIT 151SELECT quesid, question, seo, userid FROM questions WHERE quesid!='20396' AND status='1' AND (question like '%Cyber Security : Protect Email Content Scrapers%' OR question like '%Cyber%' OR question like '%Security%' OR question like '%Protect%' OR question like '%Email%' OR question like '%Content%' OR question like '%Scrapers%') -- ORDER BY RAND() LIMIT 15

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM seoclerks.members WHERE USERID='1129' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='1129' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='840' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='840' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='1508' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='1508' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='3545' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='3545' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='8812' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='8812' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=20396%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID 1SELECT USERID, username FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=20396%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM categories1SELECT * FROM categories

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() parseRedundantQueriesCache()

select * from categories_software order by name asc1select * from categories_software order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetSoftwareCategories()

select * from categories_wanttobuy order by name asc1select * from categories_wanttobuy order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_wantcategories()

select * from categories_wanttotrade order by name asc1select * from categories_wanttotrade order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_tradecategories()

SELECT * FROM seoclerks.members WHERE USERID='306632.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='306632.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='377074.png'1SELECT profilepicture FROM seoclerks.members WHERE USERID='377074.png'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='134.png'1SELECT profilepicture FROM seoclerks.members WHERE USERID='134.png'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='600657.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='600657.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

select * from categories_faq order by name asc1select * from categories_faq order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetFaqCategories()

Invalid SQL

count(*)sql1error_msg

Expensive SQL

Tuning the following SQL could reduce the server load substantially
LoadCountSQLMaxMin

Suspicious SQL

The following SQL have high average execution times
Avg TimeCountSQLMaxMin