Example #1
0
 /**
  * Enables support for the _method request parameter to determine the intended HTTP method.
  *
  * Be warned that enabling this feature might lead to CSRF issues in your code.
  * Check that you are using CSRF tokens when required.
  * If the HTTP method parameter override is enabled, an html-form with method "POST" can be altered
  * and used to send a "PUT" or "DELETE" request via the _method request parameter.
  * If these methods are not protected against CSRF, this presents a possible vulnerability.
  *
  * The HTTP method can only be overridden when the real HTTP method is POST.
  */
 public static function enableHttpMethodParameterOverride()
 {
     self::$httpMethodParameterOverride = true;
 }
Example #2
0
 /**
  * Sets a list of trusted host patterns.
  *
  * You should only list the hosts you manage using regexs.
  *
  * @param array $hostPatterns A list of trusted host patterns
  */
 public static function setTrustedHosts(array $hostPatterns)
 {
     self::$trustedHostPatterns = array_map(function ($hostPattern) {
         return sprintf('{%s}i', str_replace('}', '\\}', $hostPattern));
     }, $hostPatterns);
     // we need to reset trusted hosts on trusted host patterns change
     self::$trustedHosts = array();
 }
Example #3
0
 /**
  * Trusts $_SERVER entries coming from proxies.
  *
  * You should only call this method if your application
  * is hosted behind a reverse proxy that you manage.
  *
  * @api
  */
 public static function trustProxyData()
 {
     self::$trustProxy = true;
 }
Example #4
0
 /**
  * Sets a list of trusted proxies.
  *
  * You should only list the reverse proxies that you manage directly.
  *
  * @param array $proxies A list of trusted proxies
  *
  * @api
  */
 public static function setTrustedProxies(array $proxies)
 {
     self::$trustedProxies = $proxies;
     self::$trustProxy = $proxies ? true : false;
 }