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を使った自動でエスケープされた。