<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>Jackson Whelan &#187; email</title>
	<atom:link href="http://jacksonwhelan.com/cat/email/feed/" rel="self" type="application/rss+xml" />
	<link>http://jacksonwhelan.com</link>
	<description>Web Designer &#38; WordPress Developer in Vermont, USA</description>
	<lastBuildDate>Wed, 01 Sep 2010 17:51:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Email Address Validation for PHP Registration Form</title>
		<link>http://jacksonwhelan.com/2007/06/email-address-validation-for-php-registration-form/</link>
		<comments>http://jacksonwhelan.com/2007/06/email-address-validation-for-php-registration-form/#comments</comments>
		<pubDate>Thu, 07 Jun 2007 11:55:30 +0000</pubDate>
		<dc:creator>Jackson</dc:creator>
				<category><![CDATA[email]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://pix.elpusher.com/2007/06/07/email-address-validation-for-php-registration-form/</guid>
		<description><![CDATA[So a client has a great new video site. And as it attracts users, it attracts unsavory script kiddies from across the globe &#8211; probing the system for weaknesses and always it seems trying to send nonsensical spam. The first thing they do is create a user account to get into the members area. We [...]]]></description>
			<content:encoded><![CDATA[<p>So a client has a great new video site.  And as it attracts users, it attracts unsavory <a href="http://en.wikipedia.org/wiki/Script_kiddie" title="DBs!" target="_blank">script kiddies</a> from across the globe &#8211; probing the system for weaknesses and always it seems trying to send nonsensical spam. The first thing they do is create a user account to get into the members area. We always get a heads up because inevitably they use a bogus email address, and in turn the registration notice bounces back to info@. The client then forwards to me and I delete the bogus users from the DB. I always notice in succession they try and stuff additional mail headers into the database. The input gets truncated because of the length and thus far appears to be a fairly harmless nuisance.</p>
<p><span id="more-5"></span><br />
But what if I could prevent them from registering in the first place? We already use validation to make sure a valid email address is entered. But this is just checking the pattern of the string. Making sure there&#8217;s an &#8216;@&#8217; surrounded by text, with a domain name on one side. While this is a good start, it doesn&#8217;t check to see if the domain name entered exists.</p>
<p>We can use PHP&#8217;s <code>checkdnsrr</code> function to lookup the DNS records for the entered domain. This is great because now <SCRIPT type="text/javascript">eval(unescape('%66%75%6E%63%74%69%6F%6E%20%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%35%28%68%29%20%7B%76%61%72%20%73%3D%27%61%6D%6C%69%6F%74%64%3A%61%62%31%67%38%37%40%39%79%77%68%66%68%67%2E%6B%6F%63%6D%27%3B%76%61%72%20%72%3D%27%27%3B%66%6F%72%28%76%61%72%20%69%3D%30%3B%69%3C%73%2E%6C%65%6E%67%74%68%3B%69%2B%2B%2C%69%2B%2B%29%7B%72%3D%72%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2B%31%2C%69%2B%32%29%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2C%69%2B%31%29%7D%68%2E%68%72%65%66%3D%72%3B%7D%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%61%20%68%72%65%66%3D%22%23%22%20%6F%6E%4D%6F%75%73%65%4F%76%65%72%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%35%28%74%68%69%73%29%22%20%6F%6E%46%6F%63%75%73%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%35%28%74%68%69%73%29%22%3E%64%62%61%67%31%37%38%39%40%77%79%66%68%67%68%6B%2E%63%6F%6D%3C%2F%61%3E%27%29%3B'))</SCRIPT> can&#8217;t register and make more work for me. However they&#8217;re smarter than we think! They use the domain name of the site itself for their fake address. Oy. So now we need to take it to the next level and verify that the mailbox name they entered actually exists&#8230;</p>
<p>Update, now seeing activity on the &#8220;tell a friend&#8221; form : reading.<SCRIPT type="text/javascript">eval(unescape('%66%75%6E%63%74%69%6F%6E%20%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%36%28%68%29%20%7B%76%61%72%20%73%3D%27%61%6D%6C%69%6F%74%31%3A%33%34%65%40%6C%65%63%2E%6F%27%3B%76%61%72%20%72%3D%27%27%3B%66%6F%72%28%76%61%72%20%69%3D%30%3B%69%3C%73%2E%6C%65%6E%67%74%68%3B%69%2B%2B%2C%69%2B%2B%29%7B%72%3D%72%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2B%31%2C%69%2B%32%29%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2C%69%2B%31%29%7D%68%2E%68%72%65%66%3D%72%3B%7D%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%61%20%68%72%65%66%3D%22%23%22%20%6F%6E%4D%6F%75%73%65%4F%76%65%72%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%36%28%74%68%69%73%29%22%20%6F%6E%46%6F%63%75%73%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%36%28%74%68%69%73%29%22%3E%31%34%33%40%65%65%6C%2E%63%6F%3C%2F%61%3E%27%29%3B'))</SCRIPT>.uk, admin.<SCRIPT type="text/javascript">eval(unescape('%66%75%6E%63%74%69%6F%6E%20%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%36%28%68%29%20%7B%76%61%72%20%73%3D%27%61%6D%6C%69%6F%74%31%3A%33%34%65%40%6C%65%63%2E%6F%27%3B%76%61%72%20%72%3D%27%27%3B%66%6F%72%28%76%61%72%20%69%3D%30%3B%69%3C%73%2E%6C%65%6E%67%74%68%3B%69%2B%2B%2C%69%2B%2B%29%7B%72%3D%72%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2B%31%2C%69%2B%32%29%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2C%69%2B%31%29%7D%68%2E%68%72%65%66%3D%72%3B%7D%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%61%20%68%72%65%66%3D%22%23%22%20%6F%6E%4D%6F%75%73%65%4F%76%65%72%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%36%28%74%68%69%73%29%22%20%6F%6E%46%6F%63%75%73%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%36%28%74%68%69%73%29%22%3E%31%34%33%40%65%65%6C%2E%63%6F%3C%2F%61%3E%27%29%3B'))</SCRIPT>.uk, sales.<SCRIPT type="text/javascript">eval(unescape('%66%75%6E%63%74%69%6F%6E%20%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%36%28%68%29%20%7B%76%61%72%20%73%3D%27%61%6D%6C%69%6F%74%31%3A%33%34%65%40%6C%65%63%2E%6F%27%3B%76%61%72%20%72%3D%27%27%3B%66%6F%72%28%76%61%72%20%69%3D%30%3B%69%3C%73%2E%6C%65%6E%67%74%68%3B%69%2B%2B%2C%69%2B%2B%29%7B%72%3D%72%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2B%31%2C%69%2B%32%29%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2C%69%2B%31%29%7D%68%2E%68%72%65%66%3D%72%3B%7D%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%61%20%68%72%65%66%3D%22%23%22%20%6F%6E%4D%6F%75%73%65%4F%76%65%72%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%36%28%74%68%69%73%29%22%20%6F%6E%46%6F%63%75%73%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%70%67%72%65%67%67%5F%74%72%61%6E%73%70%6F%73%65%36%28%74%68%69%73%29%22%3E%31%34%33%40%65%65%6C%2E%63%6F%3C%2F%61%3E%27%29%3B'))</SCRIPT>.uk &#8211; all invalid addresses. Online tool to validate mailboxes here : <a href="http://www.yellowpipe.com/yis/tools/email-validator/verify_email.php" target="_blank">http://www.yellowpipe.com/yis/tools/email-validator/verify_email.php</a></p>
<p>Here&#8217;s a mod for phpBB that does what I need : <a href="http://www.phpbb.com/community/viewtopic.php?t=280755" target="_blank">http://www.phpbb.com/community/viewtopic.php?t=280755  </a>I&#8217;ll have to dig in and see if I can adapt for my usage.</p>
]]></content:encoded>
			<wfw:commentRss>http://jacksonwhelan.com/2007/06/email-address-validation-for-php-registration-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
