log > Slim(php)3でリダイレクト,header出力,自動でエスケープ

Slim(php)3でリダイレクト

Slim3では、一部のメソッドが変更されている。 2.xでは、redirectだったが、3.xでは、withRedirectに変更されている。

Slim-skeleronでは、$responseの内部で使用する。

// HogeAction.php
public function dispatch($request, $response, $args)
{
   return $response->withRedirect('/hoge/');
}

Slimでheader出力

withHaederを使用する。あんま調べてないけど、2.xだと$response->headersに直接指定することができたのが、3.xだとheadersがprotectedになっているのでwithHeaderを使った方がいい。

$response = $response->withHeader('X-Frame-Options', 'SAMEORIGIN');

Slimは自動でエスケープするか

PHPでは、そのまま変数を表示するとXSS脆弱性が発生することがある。そのため、主要なフレームワークはViewで表示するときに自動でエスケープする機能がある。

Slimはどうだったか調べたら、Slim本体はテンプレートエンジンを持っておらず、公式ライブラリとしてTwigを使っている。Twigは自動でエスケープされるので、Twigを使った自動でエスケープされた。