> > If you don't really care
> 
> I don't really care measuring the difference it makes, 
> because it must certainly be marginal, and it is not because 
> I don't care the difference it can made that I cannot make a 
> comment about it.

If you want to be a contrarian for the sake of being a contrarian, go right
ahead. However, you speculated that there might be overhead in creating an
execution plan, when one is created whether you use CFQUERYPARAM or not!
Then, immediately after that, you wrote that you don't care one way or the
other.

If you don't care one way or the other, why would that speculation be a
deciding factor about whether to use CFQUERYPARAM? It seems to me that your
sole justification for not using it, or using it selectively, or whatever,
is that it's too much trouble to type it out. And if that's true, that's
fine with me, because I don't really care about your applications
specifically. 

It may well be the case that under specific conditions, there is a cost to
using CFQUERYPARAM. For example, there may be some queries that benefit from
having new execution plans generated each time they're run, instead of using
a cached execution plan. But you have failed to identify any of those
specific edge cases. You're not recommending that people attempt to identify
these edge cases, either. And, in the absence of evidence about a specific
case, the safe assumption is that building a prepared statement will not
only provide complete protection against SQL injection, but will also
improve performance. In ANY case, building a prepared statement that uses
CFQUERYPARAM to wrap every piece of user-supplied data will provide complete
protection against SQL injection, by its very nature - it tells the database
the difference between executable code and data.

Instead, you're throwing up a smokescreen of crap about why people shouldn't
use it, or why they should be more selective in using it. You're willing to
rely on all sorts of other things to provide what you see as equivalent to
the protection you get from prepared statements - making sure your MySQL
database is configured a certain non-default way, filtering out "bad words"
from incoming HTTP requests, etc - but it would be easier and more reliable
to just build the prepared statements in the first place!

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/

Fig Leaf Software provides the highest caliber vendor-authorized
instruction at our training centers in Washington DC, Atlanta,
Chicago, Baltimore, Northern Virginia, or on-site at your location.
Visit http://training.figleaf.com/ for more information!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;203748912;27390454;j

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:309657
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