<--- --------------------------------------------------------------------------------------- ---- Blog Entry: How I Stop Spammers On My ColdFusion Blog Author: Ben Nadel / Kinky Solutions Link: http://www.bennadel.com/index.cfm?dax=blog:197.view Date Posted: Aug 7, 2006 at 11:31 AM ---- --------------------------------------------------------------------------------------- ---> // Define the local scope. var LOCAL = StructNew(); // Create results string. LOCAL.Result = CreateObject( "java", "java.lang.StringBuffer" ).Init(); // Create a random number of buffer zones. LOCAL.BufferSize1 = RandRange( 1, 5 ); LOCAL.BufferSize2 = RandRange( 1, 5 ); LOCAL.BufferSize3 = RandRange( 1, 5 ); // Get the class list size. LOCAL.VisibleClassesLength = ListLen( ARGUMENTS.VisibleClasses ); LOCAL.HiddenClassesLength = ListLen( ARGUMENTS.HiddenClasses ); // Add a hidden operator. LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( "-" ) ); LOCAL.Result.Append( " " ); // Create a random number of fake spans. for ( LOCAL.Index = 1 ; LOCAL.Index LTE LOCAL.BufferSize1 ; LOCAL.Index = (LOCAL.Index + 1)){ LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( RandRange( 3, 20 ) ) ); LOCAL.Result.Append( " " ); } // Add a hidden operator. LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( "-" ) ); LOCAL.Result.Append( " " ); // Add the first value. LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( ARGUMENTS.Value1 ) ); LOCAL.Result.Append( " " ); // Add a hidden operator. LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( "+" ) ); LOCAL.Result.Append( " " ); // Create a random number of fake spans. for ( LOCAL.Index = 1 ; LOCAL.Index LTE LOCAL.BufferSize2 ; LOCAL.Index = (LOCAL.Index + 1)){ LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( RandRange( 5, 20 ) ) ); LOCAL.Result.Append( " " ); } // Add the operator. LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( ARGUMENTS.Operator ) ); LOCAL.Result.Append( " " ); // Create a random number of fake spans. for ( LOCAL.Index = 1 ; LOCAL.Index LTE LOCAL.BufferSize2 ; LOCAL.Index = (LOCAL.Index + 1)){ LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( RandRange( 6, 20 ) ) ); LOCAL.Result.Append( " " ); } // Add the second value. LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( ARGUMENTS.Value2 ) ); LOCAL.Result.Append( " " ); // Add a hidden operator. LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( "+" ) ); LOCAL.Result.Append( " " ); // Create a random number of fake spans. for ( LOCAL.Index = 1 ; LOCAL.Index LTE LOCAL.BufferSize3 ; LOCAL.Index = (LOCAL.Index + 1)){ LOCAL.Result.Append( "" ); LOCAL.Result.Append( VARIABLES.Library.Text.ToAsciiString( RandRange( 3, 20 ) ) ); LOCAL.Result.Append( " " ); } // Return the span test. return( LOCAL.Result.ToString() );