<?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>Pressed Words &#187; database</title>
	<atom:link href="http://pressedwords.com/tag/database/feed/" rel="self" type="application/rss+xml" />
	<link>http://pressedwords.com</link>
	<description>News and commentary about all things WordPress</description>
	<lastBuildDate>Thu, 11 Jun 2009 03:54:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1</generator>
	<item>
		<title>WordPress Database Errors and the Post Hoc Fallacy</title>
		<link>http://pressedwords.com/instapundit-on-wordpress/</link>
		<comments>http://pressedwords.com/instapundit-on-wordpress/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 20:48:46 +0000</pubDate>
		<dc:creator><![CDATA[Austin Matzko]]></dc:creator>
				<category><![CDATA[Users]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[Movable Type]]></category>

		<guid isPermaLink="false">http://pressedwords.com/?p=45</guid>
		<description><![CDATA[Glenn Reynolds at Instapundit mentioned WordPress today in not-so-flattering terms (emphasis added): LIEBERMAN CAMPAIGN CRASHED OWN WEBSITE: &#8220;The server that hosted the joe2006.com Web site failed because it was overutilized and misconfigured.&#8221; That&#8217;s like when people send me a link to their underpowered WordPress blog, then it produces a &#8220;Database Error&#8221; message when too many [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Glenn Reynolds at <a href="http://instapundit.com/archives2/017681.php">Instapundit mentioned WordPress today</a> in not-so-flattering terms (emphasis added):</p>
<blockquote><p>LIEBERMAN CAMPAIGN <a href="http://www.stamfordadvocate.com/localnews/ci_8859029">CRASHED OWN WEBSITE</a>: &#8220;The server that hosted the joe2006.com Web site failed because it was overutilized and misconfigured.&#8221; That&#8217;s like when people send me a link to their underpowered WordPress blog, then it produces a &#8220;Database Error&#8221; message when too many people try to actually read it. I hate that. (<em>Yeah, this happens elsewhere sometimes, but low-power WordPress blogs seem particularly susceptible.</em>)</p></blockquote>
<p>Until WordPress version 2.5, a failed database would generate error screens like the one below:</p>
<p><img src="http://pressedwords.com/blog/uploads/2008/04/db_error.jpg" alt="" title="db_error" width="500" height="282" class="alignnone size-full wp-image-46" /></p>
<p>Note the nifty WordPress branding that appears at the top.  Thanks to that, <a href="http://en.wikipedia.org/wiki/Slashdot_effect">countless Diggers, Slashdotters, and the like</a> began to associate WordPress with failure.  This is a <a href="http://en.wikipedia.org/wiki/Post_hoc_ergo_propter_hoc">post hoc fallacy</a> of course: plenty of sites that buckle under the loads brought by Digg are not powered by WordPress, and many WordPress sites that survive a slashdotting are powered by WordPress.  But in both of those cases, it&#8217;s not obvious; no giant logo greets you to say &#8220;WordPress powers this site, which is staying up just fine!&#8221;</p>
<p>In my opinion, WordPress version 2.5 solved this problem the right way, by adding a non-branded database error message:</p>
<p><img src="http://pressedwords.com/blog/uploads/2008/04/db_error_new.jpg" alt="" title="db_error_new" width="500" height="92" class="alignnone size-full wp-image-47" /></p>
<p>Other people, including both WordPress <a href="http://technosailor.com/2008/04/10/solving-the-wordpress-traffic-overload-problem/">proponents</a> and <a href="http://www.movabletype.com/blog/2008/03/a-wordpress-25-upgrade-guide.html">opponents</a>, think WordPress lacks something by not allowing all of its users to handle heavy database stress.  I&#8217;m not so sure.  </p>
<p>Flexibility is a large part of what makes WordPress such a great application to write  code for.  If you let plugins do just about anything imaginable on every page load, there&#8217;s a good chance that a small host&#8217;s database won&#8217;t be able to handle all of that in the face of a slashdotting.  And that&#8217;s okay.  The vast majority of WordPress users won&#8217;t ever be slashdotted, and so they don&#8217;t need the extra complication, potential server problems, and plugin incompatibilities that built-in caching would produce.  </p>
<p>If yours is the type of site that&#8217;s going to suffer under the Digg effect, then you can install one of the caching plugins to help you endure, or you can count on superior server resources.  Everyone else will be just fine.  </p>
]]></content:encoded>
			<wfw:commentRss>http://pressedwords.com/instapundit-on-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Protecting WordPress from SQL Injection Attacks</title>
		<link>http://pressedwords.com/protecting-wordpress-from-sql-injection-attacks/</link>
		<comments>http://pressedwords.com/protecting-wordpress-from-sql-injection-attacks/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 18:31:04 +0000</pubDate>
		<dc:creator><![CDATA[Austin Matzko]]></dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql_real_escape_string]]></category>
		<category><![CDATA[SQL Injection]]></category>

		<guid isPermaLink="false">http://pressedwords.com/protecting-wordpress-from-sql-injection-attacks/</guid>
		<description><![CDATA[David Kierznowski at BlogSecurity suggests that WordPress is &#8220;insecure by design.&#8221; What he means is that in general WordPress does not sanitize MySQL queries. He recommends that WordPress provide &#8220;a proper set of SQL safe functions (i.e. $wpdb->escape_int and $wpdb->escape_str&#8221; and &#8220;use mysql_real_escape_string(), and have clearly defined coding standards and security policies&#8221; like Drupal does. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>David Kierznowski at BlogSecurity suggests that <a href="http://blogsecurity.net/wordpress/wordpress-insecure-by-design/">WordPress is &#8220;insecure by design.&#8221;</a>  What he means is that in general WordPress does not sanitize MySQL queries.  He recommends that WordPress provide &#8220;a proper set of SQL safe functions (i.e. $wpdb->escape_int and $wpdb->escape_str&#8221; and &#8220;use mysql_real_escape_string(), and have clearly defined coding standards and security policies&#8221; like Drupal does.  </p>
<p>Actually, the development version of WordPress has been implementing a new &#8220;<code>prepare</code>&#8221; method of the WordPress DB class.  The &#8220;<code>prepare</code>&#8221; method uses <code>vsprintf</code> to makes sure sure, for example, that integers are truly integers, which should accomplish the same thing as Kierznowski&#8217;s proposed <code>escape_int</code> and <code>escape_str</code> methods.  </p>
<p>And WordPress once actually did use <code>mysql_real_escape_string()</code>, over two and a half years ago.  The problem is that <a href="http://wordpress.org/about/requirements/">WordPress&#8217;s minimum requirements specify only that one use PHP version 4.2 or newer</a>.  However, <a href="http://us3.php.net/mysql_real_escape_string"><code>mysql_real_escape_string()</code> was not introduced until PHP version 4.3.0</a>, so WordPress had to rely on an alternate way of escaping queries, one that apparently <a href="http://trac.wordpress.org/changeset/2737">has caused some trouble, so the whole thing was bypassed</a>.  However, <a href="http://trac.wordpress.org/ticket/5416">PHP 4.3.0 functions have crept into development WordPress already</a>, so it&#8217;s likely by the time of the next release (version 2.5) in the spring, that the minimum version will have increased and WordPress will be free to use <code>mysql_real_escape_string</code>.  </p>
]]></content:encoded>
			<wfw:commentRss>http://pressedwords.com/protecting-wordpress-from-sql-injection-attacks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 1/11 queries in 0.004 seconds using memcached
Object Caching 270/289 objects using memcached

 Served from: pressedwords.com @ 2026-05-05 13:11:59 by W3 Total Cache -->