title: 403 forbidden when encoded + (%2B) used in PHP GET request
body: <p>This is a strange one. I seem to be getting a <strong>403 Forbidden error</strong> when I include a string that contains a double quote followed by a + symbol in a GET request.</p>
  
  <p>Variables:</p>
  
  <pre><code>var iname = 'Chevalier de Fleur';
  
  var itemdescription = '"Fleur Synchron" + 1 or more non-Tuner monsters
  Once during each of your turns, when your opponent activates a Spell/Trap Card, you can negate the activation and destroy that card.';
  </code></pre>
  
  <p>I am passing a request as follows</p>
  
  <pre><code>jQuery.getJSON('https://example.org/myphpfile.php?itemname=' + iname + '&amp;itemdesc=' + encodeURIComponent(itemdescription) + '&amp;callback=?',
                              function (values) {
  </code></pre>
  
  <p>This works perfectly for almost all of my 9000+ items that get checked except for this one. When the URL above is passed in, I get a <strong>403 forbidden error</strong>.</p>
  
  <p>I think I've narrowed it down to the encoding on the + sign.</p>
  
  <p>The request ends up looking like this:</p>
  
  <pre><code>https://example.org/myphpfile.php?name=Chevalier%20de%20Fleur&amp;desc=%22Fleur%20Synchron%22%20%2B%201%20or%20more%20non-Tuner%20monsters%0AOnce%20during%20each%20of%20your%20turns%2C%20when%20your%20opponent%20activates%20a%20SpellTrap%20Card%2C%20you%20can%20negate%20the%20activation%20and%20destroy%20that%20card.
  </code></pre>
  
  <p>On this segment of it:</p>
  
  <pre><code>&amp;desc=%22Fleur%20Synchron%22%20%2B%20
  </code></pre>
  
  <p>If I remove the %2B which is for the + symbol then it works perfectly. I thought it may have had something got to do with having a double quote <strong>"</strong> followed by a <strong>+</strong> but I have more items that do this and none seem to replicate this behavior.</p>
  
  <p>I've currently fixed it by removing with it replace (I really don't need the + anyway):</p>
  
  <pre><code>itemdescription.replace('+', '' );
  </code></pre>
  
  <p>So while it is working currently, I'm still curious and would really like to learn <strong>WHY</strong> it didn't work as I'm sure I'm probably doing something wrong. </p>
  
  <p>Server info:</p>
  
  <p>Apache 2.4.34
  PHP 5.6.36</p>