title: php://input <> $_POST?
body: <p>I'm experimenting with Firefox's Content Security Policy. Basically it's a special header for the webpage that tells the browser which resources are valid.</p>
  
  <p>When some resource is invalid because it's breaks the policy, Firefox sends a report to a given URI in json format.</p>
  
  <p>This is a typical report</p>
  
  <pre><code>array(1) {
    ["csp-report"]=&gt;
    array(4) {
      ["request"]=&gt;
      string(71) "GET http://example.com/?function=detail&amp;id=565 HTTP/1.1"
      ["request-headers"]=&gt;
      string(494) "Host: example.com
  User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:2.0b10pre) Gecko/20110115 Firefox/4.0b10pre
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  Accept-Language: es-ar,en-us;q=0.8,es;q=0.5,en;q=0.3
  Accept-Encoding: gzip, deflate
  Accept-Charset: UTF-8,*
  Keep-Alive: 115
  Connection: keep-alive
  Referer: http://example.com/index.php?function=search&amp;query=Pata+de+cambio+
  Cookie: the cookie
  "
      ["blocked-uri"]=&gt;
      string(4) "self"
      ["violated-directive"]=&gt;
      string(30) "inline script base restriction"
    }
  }
  </code></pre>
  
  <p>The content type is application/json; charset=UTF-8</p>
  
  <p>Now. I would expect this to be avaliable in $_POST as REQUEST_METHOD==POST but post is always empty.
  I can access it from php://input, but the question is: Why the request isn't avaliable in $_POST? </p>
  
  <p>I can't even use filter_input and $_REQUEST is empty...</p>