Gerald,

It looks to me like a SPAM bot.  Many times they will send multiple  
POST requests at once to gather vailid emails or attempt to use your  
forms to spam others.  If that is the case it may be that your   
"checkEmail" isn't working because the "add to Email" query hasn't  
run.   Have you tried putting a <cflock> around your  code  to  
prevent simulateous requests/updates to that table?

Jon

On Sep 27, 2006, at 11:17 AM, Gerald Weir wrote:

> Hello,
>
> We're running CFMX 6.1 on Win2003 Servers with Oracle 8.0.3 DB on  
> UNIX.
>
> We have free projects available on our website in exchange for a  
> consumer signing up for our email newsletter.  Somewhere along the  
> way between almost 2 years ago and just recently I made some kind  
> of change that is allowing duplicate email names to be entered  
> although the CFQUERY is supposed to check to see if the  
> email_address is already in the database.  The weird thing is that  
> I see the time of creation is so close together that it seems like  
> the consumer couldn't have clicked the submit button that many  
> times so quickly, for example:
>
> EMAIL_NEWS_LIST_ID EMAIL_ADD            TO_CHAR(DATE
> ------------------ ---------------------------------------------   
> -----------
>             150382 [EMAIL PROTECTED]      15:40:39 PM
>             150383 [EMAIL PROTECTED]      15:40:40 PM
>             150384 [EMAIL PROTECTED]      15:40:42 PM
>             150385 [EMAIL PROTECTED]      15:40:41 PM
>             150386 [EMAIL PROTECTED]      15:40:47 PM
>
> When I just go to the page on my website and try to access the  
> project by giving it my email address it does the right thing which  
> is to check that I'm in the DB and since I am already there it does  
> not add me again but just puts the cookie on my machine so that I  
> can view the projects. The code checks to see if the email_add is  
> in the DB already and is NOT supposed to enter it again but just  
> CFLOCATE them to the page they want to view.
>
> Here is my CF code:
> <cfset date_created = CreateODBCDateTime(now())>
>
> <!--- first check to see if the emailAdd from the form is in the DB  
> --->
> <cfif IsDefined("Form.emailAdd")>
>      <cfset email_Add=Lcase(Form.emailAdd)>
>           <cfquery datasource="#secondaryDS#" name="checkEmail">
>                select email_news_list_id, email_add
>                from           email_list
>                where          lower(email_add)=lower 
> ('#Form.emailAdd#')
>           </cfquery>
> </cfif>
>
> <!--- if emailAdd is in DB set status to 1 and cflocate to page --->
> <cfif Form.emailAdd EQ checkEmail.email_add>
>      <cfcookie name="inEmailList" value="Y" expires="never">
>      <cflocation url="index.cfm?page=section/classroom/sewprojects/ 
> EraBonnet/eraBonnet.cfm">
> <cfelse>
> <!--- otherwise set emailStatus to 2 and add to DB, this will  
> trigger proper message below --->
>      <cfset email_Add = "#Form.emailAdd#">
>      <cftransaction>
>           <cfquery name="addToEmailList" datasource="#secondaryDS#">
>               <!--- this selects the email_news_list_id from a  
> next_key table --->
>                declare nk int;
>
>                begin
>
>                update next_key
>                set next_key = next_key + 1
>                where table_name = 'email_list';
>
>                select next_key + 1 into nk
>                from next_key
>                where table_name = 'email_list';
>
>                insert into email_list(
>                     email_news_list_id,
>                     email_add,
>                     first_name,
>                     last_name,
>                     spanish_lang,
>                     date_created,
>                     promo_code
>                )
>                values(
>                     nk,
>                     '#Lcase(email_add)#',
>                     '#first_name#',
>                     '#last_name#',
>                     '1',
>                     #date_created#,
>                     #promo_code#
>                );
>                end;
>           </cfquery>
>      </cftransaction>
>      <cfcookie name="inEmailList" value="Y" expires="never">
>
>      <!-- Run email reply -->
>      <cfmail from="[EMAIL PROTECTED]" to="#email_Add#"  
> subject="Anonymous Co." server="#WEBMAIL_EMAIL_SERVER#">
> Hello #email_Add#
>
> Welcome to our newsletter.
>
>      </cfmail>
>
> <cflocation url="index.cfm?page=section/classroom/sewprojects/ 
> EraBonnet/eraBonnet.cfm" addtoken="no">
> </cfif>
>
> The major sticking point is that I don't understand HOW and WHY  
> this is happening.  I have tens of thousands of email addresses  
> where - at least by the naked eye - it appears that I don't have  
> any doubles.  Yet starting around August 21, 2006 these duplicates  
> are multiplying.  Due to my lack of organization - and not always  
> using custom tags - some of the code pages as presented above are  
> duplicates whereas the newer ones are using the custom tags.   
> Regardless, it appears that I am getting multiple entries for the  
> same submit.
>
> I cannot really change the underlying database table because it's  
> used to support another application (Campaign8) that has it's own  
> requirements which are met by the current table.
>
> Thanks much,
> Jerry
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting,
up-to-date ColdFusion information by your peers, delivered to your door four 
times a year.
http://www.fusionauthority.com/quarterly

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:254403
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to